如何通过本地的代码,调用远程的server呢?
例如:我有两台电脑A(192.168.112.10)和B(192.168.112.11),那我怎么能在A执行本地脚本,但是使用B上的server呢?
查看appium连接appium服务并开启一个session的例子如下:
desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['deviceName'] = '6SJNW18530006073'
desired_caps['platformVersion'] = '8.0.0'
# desired_caps['app']=r'C:\Users\Admin\Desktop\app-kaadas-release.apk'#安装app
desired_caps['appPackage'] = 'com.xiaokai.lock'
desired_caps['appActivity'] = 'com.xiaokai.lock.activity.login.SplashActivity'
desired_caps['automationName'] = 'uiautomator2' # 不使用的话,Android7.0,8.0定位不到元素
desired_caps['resetKeyboard'] = 'true' # 隐藏键盘
desired_caps['noReset'] = 'true' # 不重置app----已登录or未登录
desired_caps['autoGrantPermissions'] = 'true' # 让Appium自动确定您的应用程序需要哪些权限,并在安装时将其授予应用程序---慢
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
可以看到实际是通过'http://127.0.0.1:4723/wd/hub'这个地址连接到appium server的,那如果我要连接远程server,只要做如下操作即可
实现方法
以A要使用B的服务为例
1.将B的appium客户端的General setting的ip地址从127.0.0.1改为192.168.112.11,然后Launch启动服务
2.将A机器要执行的脚本的webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)中的ip替换为B的服务ip
webdriver.Remote('http://192.168.112.11:4723/wd/hub', desired_caps)
3.将测试机插到远程机B上
4.在机器A上执行脚本即可