Appium+Unittest+HTMLTestRunner
雷电模拟器为例:
from appium import webdriver
import unittest
from time import sleep
import HTMLTestRunner
from appium.webdriver.common.touch_action import TouchActionclass appTest(unittest.TestCase):def setUp(self):desired_caps = {}desired_caps['platformName'] = 'Android'desired_caps['platformVersion'] = '5.1.1'desired_caps['deviceName'] = 'emulator-5554'desired_caps['appPackage'] = 'com.android.settings'desired_caps['appActivity'] = '.Settings'desired_caps['unicodeKeyboard'] = Truedesired_caps['resetKeyboard'] = True# 获取浏览器对象self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)sleep(2)# 用例1:点击WLAN----修改网络---后动代理---自动输入值def test_wlan(self):driver = self.driversleep(2)#点击无线driver.find_element_by_xpath("//*[contains(@text,'WLAN')]").click()sleep(2)#长按wifiwifi = driver.find_element_by_id("android:id/summary")TouchAction(driver).long_press(wifi,3000).perform()sleep(2)#点击“修改网络”driver.find_element_by_xpath("//*[contains(@text,'修改网络')]").click()sleep(2)#点击“高级选项”driver.find_element_by_id("com.android.settings:id/wifi_advanced_togglebox").click()# driver.find_element_by_xpath("//*[contains(@text,'高级选项')]").click()sleep(2)#点击“无”driver.find_element_by_xpath("//*[contains(@text,'无')]").click()sleep(2)#点击“手动”driver.find_element_by_xpath("//*[contains(@text,'手动')]").click()sleep(2)#输入”代理服务器主机名“driver.find_element_by_id("com.android.settings:id/proxy_hostname").send_keys("192.168.48.131")sleep(2)#输入”代理服务器端口“driver.find_element_by_id("com.android.settings:id/proxy_port").send_keys("7777")sleep(2)#输入”对以下网址不适用代理“driver.find_element_by_id("com.android.settings:id/proxy_exclusionlist").send_keys("baidu.com")sleep(2)#点击IP设置driver.find_element_by_xpath("//*[contains(@text,'DHCP')]").click()sleep(2)#选择”静态“driver.find_element_by_xpath("//*[contains(@text,'静态')]").click()sleep(2)#滑动driver.swipe(200,1570,200,620)sleep(2)#ip地址driver.find_element_by_id("com.android.settings:id/ipaddress").send_keys("127.0.0.1")sleep(2)#dns2driver.find_element_by_id("com.android.settings:id/dns2").send_keys("1.1.1.1")sleep(4)#点击“保存”driver.find_element_by_xpath("//*[contains(@text,'保存')]").click()sleep(2)#点击返回driver.find_element_by_class_name("android.widget.ImageButton").click()# TouchAction(driver).tap(x=91,y=159,count=1)sleep(2)#用例2:绘图Zdef test_huitu(self):driver = self.driver# 存储 移动到 无线sleep(2)WLAN = driver.find_element_by_xpath("//*[contains(@text,'WLAN')]")cunchu = driver.find_element_by_xpath("//*[contains(@text,'存储')]")driver.drag_and_drop(cunchu, WLAN)sleep(2)# 点击"安全"driver.find_element_by_xpath("//*[contains(@text,'安全')]").click()sleep(2)# 点击“屏幕锁屏方式”driver.find_element_by_xpath("//*[contains(@text,'屏幕锁定方式')]").click()sleep(2)# 点击“图案”driver.find_element_by_xpath("//*[contains(@text,'图案')]").click()# 180 636# 901 636# 180 1360# 904 1360sleep(2)TouchAction(driver).press(x=180, y=636).wait(3000) \.move_to(x=720, y=0).wait(1000) \.move_to(x=-720, y=720).wait(1000) \.move_to(x=720, y=0).wait(1000) \.release().wait(1000)\.perform()sleep(2)driver.find_element_by_xpath("//*[contains(@text,'继续')]").click()sleep(2)driver.find_element_by_xpath("//*[contains(@text,'取消')]").click()sleep(2)# 点击返回driver.find_element_by_class_name("android.widget.ImageButton").click()sleep(2)#用例3:滑动亮度def test_liangdu(self):driver = self.driversleep(2)#点击”显示“driver.find_element_by_xpath("//*[contains(@text,'显示')]").click()sleep(3)# 点击亮度driver.find_element_by_xpath("//*[contains(@text,'亮度')]").click()sleep(3)#拖动TouchAction(driver).press(x=503, y=217).wait(3000).move_to(x=853, y=209).release().perform()sleep(2)#用例4:修改提示音和通知def test_music(self):driver = self.driversleep(2)# 点击”提示音和通知“driver.find_element_by_xpath("//*[contains(@text,'提示音和通知')]").click()sleep(2)# 拖动”媒体音量“TouchAction(driver).press(x=165, y=507).wait(3000).move_to(x=882, y=503).release().perform()sleep(2)# 拖动”闹钟音量“TouchAction(driver).press(x=165, y=735).wait(3000).move_to(x=868, y=735).release().perform()sleep(2)# 拖动铃声音量TouchAction(driver).press(x=165, y=967).wait(3000).move_to(x=919, y=963).release().perform()sleep(2)# ”开启“ 来电响铃振动driver.find_element_by_id("android:id/switchWidget").click()sleep(2)# 点击“手机铃声”driver.find_element_by_xpath("//*[contains(@text,'手机铃声')]").click()sleep(3)# 点击“无”driver.find_element_by_xpath("//*[contains(@text,'无')]").click()sleep(3)# 点击“确定”driver.find_element_by_xpath("//*[contains(@text,'确定')]").click()sleep(3)# 点击“默认通知铃声”driver.find_element_by_xpath("//*[contains(@text,'默认通知铃声')]").click()sleep(3)# 点击“无”driver.find_element_by_xpath("//*[contains(@text,'无')]").click()sleep(3)# 点击“确定”driver.find_element_by_xpath("//*[contains(@text,'确定')]").click()sleep(3)def tearDown(self):self.driver.quit()if __name__ == '__main__':print("ssss")test = unittest.TestSuite()test.addTest(appTest("test_wlan"))sleep(3)test.addTest(appTest("test_huitu"))sleep(3)test.addTest(appTest("liangdu"))sleep(3)test.addTest(appTest("music"))file = "D:/test.html"fil = open(file, "wb")runner = HTMLTestRunner.HTMLTestRunner(stream=fil,title='安卓测试报告',description='执行用例结果')runner.run(test)
执行结果如下:
Appium+Unittest+HTMLTestRunner相关推荐
- Selenium UI自动化测试(四)Python+Unittest+HTMLTestRunner测试报告—百度hao123实例
Python+Unittest+HTMLTestRunner测试报告-百度个人中心实例 环境配置:https://blog.csdn.net/sevensolo/article/details/100 ...
- unittest + HTMLTestRunner
unittest + HTMLTestRunner (仅作为个人笔记,如有雷同,请联系删除..) nose/nosetests,按照匹配规则收集测试 – [ 先收集,再执行 ] 1.unittest单 ...
- python+requests+unittest+HTMLTestRunner构建接口自动化测试框架(四)测试用例执行
python+requests+unittest+HTMLTestRunner构建接口自动化测试框架(一)了解基础框架,读取配置文件 python+requests+unittest+HTMLTest ...
- 简单案例:unittest+HTMLTestRunner实现生成测试报告
1 HTMLTestRunner for Mac for installing HTMLTestRunner是标准库拓展脚本,用于实现测试报告生成,和unittest本身的TextTestRunner ...
- 单元测试unittest(基于数据驱动的框架:unittest+HTMLTestRunner/BeautifulReport+yaml+ddt)...
一.定义 unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果 ...
- APPIUM+Python+HTMLTestRunner(转)
对于自动化来说,测试报告是必须的,在敏捷化的团队中,团队中的成员需要自动化这边提供自动化的测试报告,来判断系统的整体质量以及下一步的测试策略.单元测试库生成测试输出到控制台的窗口上,但是这样的结果看起 ...
- Python+Appium+unittest demo
代码如下: # coding=utf-8 import time import unittest from appium import webdriverclass MyTestCase(unitte ...
- python用unittest+HTMLTestRunner的框架测试并生成测试报告
直接贴代码: import unittestfrom selenium import webdriverfrom time import sleepimport osimport time # 定义打 ...
- Python3 Unittest+HTMLTestRunner.py文件
1.目录结构 1.test.py 运行主文件 2.req.py 调用requests方法 3.HTMLTestRunner.py这个文件是生成报告的文件,从官网下载,我这里是现成,可能里面需要导入一些 ...
最新文章
- ICLR 2022|唯快不破!面向极限压缩的全二值化BiBERT
- TCP连接管理【三次握手-四次挥手】
- Map 集合的坑你踩过几个?
- 基于数字移相信号发生器的频率相位差测量系统的FPGA实现
- c# hash 泛型_C# 泛型Dictionary (Hashtable)
- Android官方开发文档Training系列课程中文版:构建第一款安卓应用之入门指南
- 链表之删除单链表倒数第K个节点
- 我的世界服务器按键显示mode,【服务器相关】【求助!】关于服务器中使用gamemode等命令错误。...
- Google 开源 ChromeOS.dev,在 ChromeOS 上构建应用更容易!
- 基于IAR for RH850的瑞萨RH850 FCL库用法介绍(二)
- php时间戳转UTC时间
- cad如何多选对象_CAD如何快速选择对象
- 如何制作DUN-14条形码
- R语言使用rgl包的plot3d函数可视化可以交互旋转的3D散点图(Rotating 3D scatter plot produced by the plot3d functio in rgl)
- 风险资产的最优组合公式证明
- 使用vim编辑器配置网络
- ElasticSearch(待改)
- DDSM数据库在windows环境下的转换
- 64位win7下安装SQL Server 2008(图文解说版)----本人备注
- OCI动态链接ORACLE
热门文章
- C++编码风格/规范/建议
- IDEA主菜单栏隐藏的解决办法
- vue-cli · Failed to download解决方案
- 手把手教你制作查题微信公众号
- linux系统怎么开启telnet服务,Linux系统开启TELNET服务的方法
- 【教程】电信光猫烽火HG5140A怎么改桥接模式,telecomadmin超级密码
- 电缆/管道/故障定位高密度聚乙烯盾型电子标识器技术特征与功能
- C++ 流控制函数setw()、setfill()、setbase()、setprecision()的使用
- 【VMware vSAN 7.0】6 使用延伸群集将数据存储扩展到两个站点—我们有软硬件解决方案
- 35岁之后,不太建议你再进大公司