本文基于python单元测试框架unittest完成appium自动化测试,生成基于html可视化测试报告

代码示例:

 #利用unittest并生成测试报告
class Appium_test(unittest.TestCase):
"""appium测试类"""
def setUp(self):
desired_caps = {
'platformName': 'Android',
'deviceName': 'Android Emulator',#可有可无,这里是指我的模拟器
'platformVersion': '5.0',
# apk包名
'appPackage': 'com.smartisan.notes',
# apk的launcherActivity
'appActivity': 'com.smartisan.notes.NewNotesActivity',
#如果存在activity之间的切换可以用这个
# 'appWaitActivity':'.MainActivity',
        #每次执行代码都会直接去重新安装一次
        # 'app':'os.path.abspath("apk的绝对路径")'
'unicodeKeyboard': True,
#隐藏手机中的软键盘,可以输入中文
'resetKeyboard': True
}
self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
time.sleep()
self.verificationErrors = "今天天气不错在家学习!" #设置的断言 def tearDown(self):
time.sleep()
assertt = self.driver.find_element_by_id("com.smartisan.notes:id/list_rtf_view").text
# print(assertt) #调试用
self.assertEqual(assertt,self.verificationErrors,msg="验证失败!")
#断言:实际结果,预期结果,错误信息
self.driver.quit() def test_creat(self):
"""记事本中新增一条记录"""
self.driver.find_element_by_id("com.smartisan.notes:id/add_button").click()
time.sleep()
self.driver.find_element_by_class_name("android.widget.EditText").send_keys("今天天气不错在家学习!")
self.driver.find_element_by_id("com.smartisan.notes:id/send_finish_button").click() suite = unittest.TestSuite()
suite.addTest(Appium_test('test_creat')) report_file = ".\\appium_report.html"
fp = open(report_file,'wb')
runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title="appium测试报告",description='新增一条笔记并保存')
runner.run(suite)
fp.close()

生成测试报告:

最新文章

  1. ionic2+angular2中踩的那些坑
  2. 怎样使用My97日期控件
  3. [技巧] 解决Win7下VMware中vmx86.sys报错的问题
  4. sqlplus命令大全
  5. js构建工具和预编译
  6. 如何用Transformer+从PDF文档编辑数据
  7. IE6下position:fixed;兼容
  8. Delphi与Java中的日期互换
  9. [Immutable.js] Lightning Fast Immutable.js Equality Checks with Hash Codes
  10. Effective C++:条款37:绝不又一次定义继承而来的缺省參数值
  11. 第20章 状态模式(State Pattern)
  12. HTML 标记
  13. css实现三栏自适应布局(两边固定,中间自适应)以及优缺点
  14. JStorm-介绍
  15. 伪GZCC官网
  16. TCP/UDP协议、理解三次握手四次挥手、Socket
  17. HDU2021发工资咯:)
  18. 使用SecureCRT软件运维的配置习惯
  19. Android Studio 中的FindBugs插件使用,轻松帮你发现Bug (转)
  20. java.util.ConcurrentModificationException 多线程访问ArrayList引起

热门文章

  1. 信息收集工具recon-ng详细使用教程
  2. IOS-Storyboard控制器切换之Modal(1)
  3. Skype for Business七大新功能
  4. StringBuffer疑问
  5. NHibernate之旅(8):巧用组件之依赖对象
  6. java中a++和++a在较复杂的运算中分析
  7. Canny算法源码,欢迎交流
  8. Android Studio 使用 SVN 必然遇到问题:commit ** File out of data 问题解决方法
  9. cocos2dx游戏开发学习笔记2-从helloworld開始
  10. jeasyUI treegrid 的 reload 和 getChanges