课后作业
1、至少2台模拟器,并行运行自动遍历
2、至少2台模拟器,并行运行po的用例
郑向红-作业1:并行运行了自动遍历
作业2:并行运行企业微信添加联系人
启动selenium grid Hub
陈智斌,自动化测试平台实战作业提交:
自动化遍历:
xpath配置:
执行指令:
执行过程
并行运行po的用例
启动 selenium gird 的hub
node节点配置文件
node节点1
node节点2
node节点启动
用例执行
执行效果
备注
由于登录一个企业微信之后,另外一个会掉线,手机号欠缺……所以第二个截图的操作不一致,另外一个手机有登录的时候,是可以正常执行用例的,分发跟同时执行的逻辑是可以的
写的不错,node结点里面可以指定udid 也可以不指定。hub会自动分配测试任务到node结点上。
写以写个shell 脚本,每次收集要运行的测试设备,不用每次都开多个窗口,启动不同的测试任务。
做业完成的不错。
可以思考一下如何将上面的测试任务,放在一个 shell 脚本中集中调度,每次收集要运行的测试设备,不用每次都开多个窗口,启动不同的测试任务。
1、至少2台模拟器,并行运行自动遍历
crawer1.yml
capability:
noReset: "true"
fullReset: "false"
automationName: "UiAutomator1"
appium: "http://127.0.0.1:4726/wd/hub"
appPackage: "com.xueqiu.android"
appActivity: ".view.WelcomeActivityAlias"
udid: "127.0.0.1:7555"
crawer2.yml
capability:
noReset: "true"
fullReset: "false"
appium: "http://127.0.0.1:4725/wd/hub"
appPackage: "com.xueqiu.android"
appActivity: ".view.WelcomeActivityAlias"
udid: "192.168.247.103:5555"
{
"capabilities":
[
{
"browserName": "<e.g._iPhone5_or_iPad4>",
"version":"6.0",
"maxInstances": 1,
"platform":"ANDROID"
}
],
"configuration":
{
"cleanUpCycle":2000,
"timeout":30000,
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"url":"http://127.0.0.1:4723/wd/hub",
"host": "127.0.0.1",
"port": 4723,
"maxSession": 1,
"register": true,
"registerCycle": 5000,
"hubPort": 4444,
"hubHost": "172.28.54.81",
"hubProtocol": "http"
}
}
node2.json
{
"capabilities":
[
{
"browserName": "<e.g._iPhone5_or_iPad4>",
"version":"5.1",
"maxInstances": 1,
"platform":"ANDROID"
}
],
"configuration":
{
"cleanUpCycle":2000,
"timeout":30000,
"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
"url":"http://127.0.0.1:4725/wd/hub",
"host": "127.0.0.1",
"port": 4725,
"maxSession": 1,
"register": true,
"registerCycle": 5000,
"hubPort": 4444,
"hubHost": "172.28.54.81",
"hubProtocol": "http"
}
}
2、至少2台模拟器,并行运行po的用例
def start(self):
_package="com.tencent.wework"
_activity=".launch.WwMainActivity"
if self.driver is None:
caps={}
caps['platformName'] = 'Android'
# caps['platformVersion'] = '6.0'
# caps['deviceName'] = '127.0.0.1:7555'
caps['automationName'] = 'UiAutomator1'
caps['appPackage'] = _package
caps['appActivity'] = _activity
caps['noReset'] = 'true'
caps['autoGrantPermissions']=True
caps['udid'] = os.getenv('udid', None)
self.driver = webdriver.Remote("http://172.28.54.81:4444/wd/hub", caps)
self.driver.implicitly_wait(10)
else:
self.driver.launch_app()
return self
#!/bin/bash
devices=`adb devices | grep -w 'device' | awk '{print $1}'`
for device in $devices;do
echo $device
udid=$device pytest D:/AutoCode/lagouhomework/appwechatPO/testcase/test_contact.py &
done
谢谢指导,补一下完善的逻辑
启动服务的批处理
执行脚本的sh 脚本