Python +appium 封装desired_caps模块
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python +appium 封装desired_caps模块,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2681字,纯文字阅读大概需要4分钟。
内容图文
![Python +appium 封装desired_caps模块](/upload/InfoBanner/zyjiaocheng/727/0a3264ab723f4004a6785cc65ccfcd3d.jpg)
使用python+appium做android的自动化测试时,首先需要启动appium服务,然后连接上手机,配置如下:
desired_caps = {"platformName": "Android", "deviceName": "127.0.0.1:62001", "platformVersion": "4.4.2", # apk包名 "appPackage": "com.ss.android.article.news", # apk的launcherActivity "appActivity": "com.ss.android.article.news.activity.SplashActivity", "unicodeKeyboard": True, "resetKeyboard": True} driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
但是换一个app的话就需要改动很多代码,很不方便,可以将参数在配置文件里
def desired_caps(self): desired_caps = {} desired_caps["platformName"] = self.data["platformName"] desired_caps["deviceName"] = self.data["deviceName"] desired_caps["platformVersion"] = self.data["platformVersion"] desired_caps["appPackage"] = self.data["appPackage"] desired_caps["appActivity"] = self.data["appActivity"] desired_caps["noReset"] = self.data["noReset"] desired_caps["unicodeKeyboard"] = self.data["unicodeKeyboard"] desired_caps["resetKeyboard"] = self.data["resetKeyboard"] driver = webdriver.Remote("http://" + str(self.data["host"]) + ":" + str(self.data["port"]) + "/wd/hub", desired_caps)
配置文件使用的yaml文件
platformName: Android platformVersion: 4.4.2 deviceName: 127.0.0.1:62001 appPackage: com.ss.android.article.news appActivity: com.ss.android.article.news.activity.SplashActivity noReset: True unicodeKeyboard: True resetKeyboard: True host: 127.0.0.1 port: 4723
但是其实把参数写在了配置文件里。每次启动的时候还是需要打开appium服务。现在使用adb命令来启动appium,一起封装在desired_caps里面
class adb_start_appium(object): def __init__(self): with open('C://Users/EDZ/PycharmProjects/untitled/appium/desired_caps/desired_caps.yaml') as file: self.data = yaml.load(file) def appium_start(self): cmd = 'start /b appium -a ' + str(self.data['host']) + ' -p ' + str(self.data['port']) + ' -U ' + self.data['deviceName'] print('%s at %s' % (cmd, ctime())) subprocess.Popen(cmd, shell=True, stdout=open('C://Users/EDZ/PycharmProjects/untitled/appium_SH/desired_caps/appium_log/'+str(self.data['port']) + '.log', 'a'), stderr=subprocess.STDOUT) def desired_caps(self): desired_caps = {} desired_caps["platformName"] = self.data["platformName"] desired_caps["deviceName"] = self.data["deviceName"] desired_caps["platformVersion"] = self.data["platformVersion"] desired_caps["appPackage"] = self.data["appPackage"] desired_caps["appActivity"] = self.data["appActivity"] desired_caps["noReset"] = self.data["noReset"] desired_caps["unicodeKeyboard"] = self.data["unicodeKeyboard"] desired_caps["resetKeyboard"] = self.data["resetKeyboard"] driver = webdriver.Remote("http://" + str(self.data["host"]) + ":" + str(self.data["port"]) + "/wd/hub", desired_caps) driver.implicitly_wait(8) return driver
内容总结
以上是互联网集市为您收集整理的Python +appium 封装desired_caps模块全部内容,希望文章能够帮你解决Python +appium 封装desired_caps模块所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。