雷电模拟器为例:

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相关推荐

  1. Selenium UI自动化测试(四)Python+Unittest+HTMLTestRunner测试报告—百度hao123实例

    Python+Unittest+HTMLTestRunner测试报告-百度个人中心实例 环境配置:https://blog.csdn.net/sevensolo/article/details/100 ...

  2. unittest + HTMLTestRunner

    unittest + HTMLTestRunner (仅作为个人笔记,如有雷同,请联系删除..) nose/nosetests,按照匹配规则收集测试 – [ 先收集,再执行 ] 1.unittest单 ...

  3. python+requests+unittest+HTMLTestRunner构建接口自动化测试框架(四)测试用例执行

    python+requests+unittest+HTMLTestRunner构建接口自动化测试框架(一)了解基础框架,读取配置文件 python+requests+unittest+HTMLTest ...

  4. 简单案例:unittest+HTMLTestRunner实现生成测试报告

    1 HTMLTestRunner for Mac for installing HTMLTestRunner是标准库拓展脚本,用于实现测试报告生成,和unittest本身的TextTestRunner ...

  5. 单元测试unittest(基于数据驱动的框架:unittest+HTMLTestRunner/BeautifulReport+yaml+ddt)...

    一.定义 unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果 ...

  6. APPIUM+Python+HTMLTestRunner(转)

    对于自动化来说,测试报告是必须的,在敏捷化的团队中,团队中的成员需要自动化这边提供自动化的测试报告,来判断系统的整体质量以及下一步的测试策略.单元测试库生成测试输出到控制台的窗口上,但是这样的结果看起 ...

  7. Python+Appium+unittest demo

    代码如下: # coding=utf-8 import time import unittest from appium import webdriverclass MyTestCase(unitte ...

  8. python用unittest+HTMLTestRunner的框架测试并生成测试报告

    直接贴代码: import unittestfrom selenium import webdriverfrom time import sleepimport osimport time # 定义打 ...

  9. Python3 Unittest+HTMLTestRunner.py文件

    1.目录结构 1.test.py 运行主文件 2.req.py 调用requests方法 3.HTMLTestRunner.py这个文件是生成报告的文件,从官网下载,我这里是现成,可能里面需要导入一些 ...

最新文章

  1. ICLR 2022|唯快不破!面向极限压缩的全二值化BiBERT
  2. TCP连接管理【三次握手-四次挥手】
  3. Map 集合的坑你踩过几个?
  4. 基于数字移相信号发生器的频率相位差测量系统的FPGA实现
  5. c# hash 泛型_C# 泛型Dictionary (Hashtable)
  6. Android官方开发文档Training系列课程中文版:构建第一款安卓应用之入门指南
  7. 链表之删除单链表倒数第K个节点
  8. 我的世界服务器按键显示mode,【服务器相关】【求助!】关于服务器中使用gamemode等命令错误。...
  9. Google 开源 ChromeOS.dev,在 ChromeOS 上构建应用更容易!
  10. 基于IAR for RH850的瑞萨RH850 FCL库用法介绍(二)
  11. php时间戳转UTC时间
  12. cad如何多选对象_CAD如何快速选择对象
  13. 如何制作DUN-14条形码
  14. R语言使用rgl包的plot3d函数可视化可以交互旋转的3D散点图(Rotating 3D scatter plot produced by the plot3d functio in rgl)
  15. 风险资产的最优组合公式证明
  16. 使用vim编辑器配置网络
  17. ElasticSearch(待改)
  18. DDSM数据库在windows环境下的转换
  19. 64位win7下安装SQL Server 2008(图文解说版)----本人备注
  20. OCI动态链接ORACLE

热门文章

  1. C++编码风格/规范/建议
  2. IDEA主菜单栏隐藏的解决办法
  3. vue-cli · Failed to download解决方案
  4. 手把手教你制作查题微信公众号
  5. linux系统怎么开启telnet服务,Linux系统开启TELNET服务的方法
  6. 【教程】电信光猫烽火HG5140A怎么改桥接模式,telecomadmin超级密码
  7. 电缆/管道/故障定位高密度聚乙烯盾型电子标识器技术特征与功能
  8. C++ 流控制函数setw()、setfill()、setbase()、setprecision()的使用
  9. 【VMware vSAN 7.0】6 使用延伸群集将数据存储扩展到两个站点—我们有软硬件解决方案
  10. 35岁之后,不太建议你再进大公司