通过python代码启动appium

通过python代码启动appium

"""
关于appium的启动
1、桌面版(咱们现在用的):
运行方式一:点击软件图标
运行方式二:
cmd命令行运行appium:
appium的路径:C:\Users\Admin\AppData\Local\Programs\Appium
\resources\app\node_modules\appium\build\lib
①CD切换上的路径
②dir(列出文件)
③找到main.js后执行node main.js
                 参数 -p:指定端口
                 参数 -g:指定保存appium日志文件的路径
                 node main.js -g C:\project\python\app_test_project\app_test_06\log.log
2、服务版(命令行启动)
cmd中输入appium命令即可启动
参数 -p:指定端口
参数 -g:指定保存appium日志文件的路径
3、通过python代码启动appium
①main.js路径下执行命令:node main.js
②通过端口查找进行id:netstat -ano|findstr端口
③关闭进程:taskkill /F /PID进程id
"""
import os
import subprocess
import multiprocessing
import time

import pytest

# 初级版
# 切换到appium的main.js所在路径
os.chdir(r'C:\Users\Admin\AppData\Local\Programs\Appium'
         r'\resources\app\node_modules\appium\build\lib')

# 执行cmd命令
# os.system('node main.js')
os.system(r'node main.js -p 7890 -g C:\project\python\app_test_project\app_test_06\log')

# 注意点:os.system会堵塞代码继续往下执行

# 执行测试代码(直接这样运行测试时不行的)
pytest.main()


def start_appium():
    """启动appium"""
    # 使用另外的模块
    # appium_server_path = r'C:\Users\Admin\AppData\Local\Programs\Appium' \
    #                      r'\resources\app\node_modules\appium\build\lib\main.js'
    os.chdir(r'C:\Users\Admin\AppData\Local\Programs\Appium'
             r'\resources\app\node_modules\appium\build\lib')
    port = 4723
    appium_log_path = r'C:\project\python\app_test_project\app_test_06\log{}.log'.format(port)
    subprocess.Popen('node main.js -p {} -g {}'.format(port, appium_log_path),
                     stdout=subprocess.STDOUT,
                     stderr=subprocess.PIPE,
                     shell=True).communicate()


if __name__ == '__main__':
    # 创建一个进程去启动appium
    p = multiprocessing.Process(target=start_appium)
    p.start()
    time.sleep(10)
    # 运行测试用例
    pytest.main()


你可能感兴趣的:(python,Python自动化,python,开发语言,后端)