appium远程机器执行脚本

该文档主讲如何远程机器,并通过远程的机器模拟器打开app,虚拟机远程到本机,调用mumu模拟器来运行app上的一系列操作;

备注:在实际的项目中,我是把虚拟机当做客户端,本地当做服务器,从而在JENKINS上启动脚本任务后,虚拟机远程到本机,调用mumu模拟器来运行app上的一系列操作;

 

  1. 打开MUMU模拟器,在cmd.exe上执行命令:adb connect 127.0.0.1:7555,再执行命令adb devices查看是否有设备,(备注:如果是真机连接,可以直接使用adb devices指令查看设备)

 

 

 

  1. 打开appium,设置【主机】为自己的IP地址,【端口】默认4723即可,启动服务器

 

 

 

  1. 服务器启动成功,如图所示:

 

 

  1. 打开远程机器的appium,点击File>New Session Window,打开一个新的窗口

 

 

5.设置【Remote Host】为你的本机IP地址,【Remote Port】与你上一步的设置一致此处为4723,添加Json Representation

 

 

  1. 我的MUMU模拟器上已经安装了weixin_1428.apk,所以选择这个来操作,deviceNameadb devices指令下显示的数据127.0.0.1::7555,所以可以点击编辑按钮进行编辑再保存

{

  "platformName": "Android",

  "deviceName": "127.0.0.1:7555",

  "app": "E:\\APPNIUM\\apk\\weixin_1420.apk"

}

 

 

  1. 设置完成后,点击start session

 

 

  1. 本机的虚拟模拟器上会有信息打印出来,模拟器上的微信也被打开

 

 

  1. 在实际项目中的表现:红框标记出来的是从获取的参数,参数值在jenkins上设置,如果jenkins上的参数值为空则读取后面的默认值

def open_app(self):
    desired_caps = {}
    desired_caps['platformName'] = 'Android'  # 设备系统
    desired_caps['automationName'] = 'appium'  # 设备系统
    desired_caps['deviceName'] = 'Netease MuMu'  # 设备名称
    remote_udid = os.environ.get('udid', '127.0.0.1:7555')#设置设备的udid
    desired_caps['udid'] = remote_udid
    desired_caps['appPackage'] = 'com.hd123.apos.ui.develop'  # 测试app包名
    desired_caps['appActivity'] = 'com.hd123.apos.ui.view.welcome.SplashActivity'  # 测试appActivity
    desired_caps['autoGrantPermissions'] = 'true'
    desired_caps['noReset'] = 'true'
    # driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)  # 启动app
    remote_address = os.environ.get('IP', 'http://localhost:4723/wd/hub')
    driver = webdriver.Remote(remote_address, desired_caps)  # 启动app
    #点击取消按钮
    by = (By.ID, 'com.hd123.apos.ui.develop:id/cancel_tv')
    OperateWebElement.waitByAndClick(self, driver, 1000, by)
    #点击确认,暂不注册按钮
    loc_text = 'new UiSelector().text("确认,暂不注册")'
    confirm_element = driver.find_element_by_android_uiautomator(loc_text)
    OperateWebElement.waitElementAndClick(self, 1000, confirm_element)
    return driver

 

 

 

 

 

 

执行的指令echo IP is $IP

echo udid is $udid

PYTHONIOENCODING=utf-8 TEST_DEBUG=x IP=$IP udid=$udid python -m pytest test/apos -m "$label" -sv --junitxml=junit.xml --html=report.html --self-contained-html --alluredir=out

 

 

转载于:https://www.cnblogs.com/woniu123/p/10824483.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值