在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接点击文末小卡片免费领取资料文档
软件测试视频教程观看处:
京东内部员工自动化测试培训课程!盲目自学真的会毁终生,27天学完,能救一个是一个...
1.我们拿两台设备来模拟操作下,使用:adb devices查看连接状况,获取到设备名称。

2.获取需要操作app的包名和页面名称(前提该设备已经打开了app)

3.设置初始配置信息
-
- from appium import webdriver
- import threading
-
-
- # 设备一
- def run_01():
- desired = {
- "platformName": "Android", # 手机系统
- "platformVersion": "7.1.2", # 手机系统版本
- "deviceName": '127.0.0.1:62001', # 连接的设备(adb devices)
- "automationName": "UiAutomator2",
- "appPackage": "", # app包名
- "appActivity": "", # app的启动页面
- "autoGrantPermissions": "true", # 默认允许app获取相关权限
- "noReset": True # 保留登录模式
- }
- driver_01 = webdriver.Remote(command_executor="http://127.0.0.1:4723/wd/hub", desired_capabilities=desired)
- # driver(driver_01)
-
-
- # 设备二
- def run_02():
- desired = {
- "platformName": "Android", # 手机系统
- "platformVersion": "11", # 手机系统版本
- "deviceName": '90bf8faf', # 连接的设备(adb devices)
- "automationName": "UiAutomator2", # 自动化测试框架 (1.4以上的appium不用写)
- "appPackage": "", # app包名
- "appActivity": "", # app的启动页面
- "autoGrantPermissions": "true", # 默认允许app获取相关权限
- "noReset": True # 保留登录模式
- }
- driver_02 = webdriver.Remote(command_executor="http://127.0.0.1:4720/wd/hub", desired_capabilities=desired)
- # driver(driver_02)
不同的设备启动配置端口号是不一样的,我这里一个是4723,一个是4720.
4.打开页面后操作元素,这里只简单的关闭页面(具体方法可参考:https://www.cnblogs.com/lihongtaoya/p/16988855.html)
- def driver(drivers): # 元素操作方法
- time.sleep(5)
- drivers.quit()
5.使用多线程运行多台设备
- if __name__ == '__main__':
- threading.Thread(target=run_01).start()
- threading.Thread(target=run_02).start()
6.启动appium服务
启动指令:appium --allow-cors -p 端口号 -U 设备名称

我这边是两台设备,因此需要启动两个服务,启动完之后就可以运行main函数了。
7.以上实例是将配置信息写在了代码中,若是有十几二十几台设备的话,这种写法有点麻烦,我们可以将配置信息的产生封装在json文件中使用时用load()方法去取参数即可。
1)创建一个json文件存放配置信息
- [{
- "url": "http://127.0.0.1:4723/wd/hub",
- "desired": {
- "platformName": "Android",
- "platformVersion": "7.1.2",
- "deviceName": "127.0.0.1:62001",
- "automationName": "UiAutomator2",
- "appPackage": "",
- "appActivity": "",
- "autoGrantPermissions": "true",
- "noReset": true}
-
- }, {
- "url": "http://127.0.0.1:4720/wd/hub",
- "desired":{
- "platformName": "Android",
- "platformVersion": "11",
- "deviceName": "90bf8faf",
- "automationName": "UiAutomator2",
- "appPackage": "",
- "appActivity": "",
- "autoGrantPermissions": "true",
- "noReset": true}
-
- }]
2)读取配置信息,这里直接贴完整代码了。
- def test_run(url, desired):
- driver_02 = webdriver.Remote(command_executor=url, desired_capabilities=desired)
- driver(driver_02)
-
-
- def driver(drivers): # 元素操作方法
- time.sleep(5)
- drivers.quit()
-
-
- if __name__ == '__main__':
- with open("./appium.json", mode="r", encoding="utf-8") as f:
- data = list(json.load(f))
- for i in range(0, len(data)):
- a = threading.Thread(target=test_run, args=(data[i]["url"], data[i]["desired"]))
- a.start()
PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。【点击文末小卡片免费领取】

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。
