appium自动化测试(4)部分方法&unitest初步使用
捕捉弹窗 https://github.com/appium/appium/issues/968完整有截屏的例子:https://github.com/bitbar/testdroid-samples/blob/master/appium/sample-scripts/python/testdroid_android_hybrid.py有详细解释的例子:http://www.cnblogs.com/fnng/p/3300788.html
1、unittest
2、截屏并保存driver.save_screenshot("F:/testSpace/unittest0/1.png")
2、setUpClass方法实现,一次性设置3、中文编码:文件头添加 #coding:utf-8
完整登陆&退出用例:
#coding:utf-8## XX_login_logout_testcaseimport unittestimport timefrom appium import webdriverclassLoginTestCase(unittest.TestCase):@classmethoddef setUpClass(cls):print("------------------setUp Test-----------------------")desired_caps ={}desired_caps['platformName']='Android'desired_caps['platformVersion']='4.4.4'desired_caps['deviceName']='Android Emulator'desired_caps['appPackage']='com.XX.activity'desired_caps['appActivity']='.AppStartActivity'desired_caps['unicodeKeyboard']=Truedesired_caps['resetKeyboard']=Truecls.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)@classmethoddef tearDownClass(cls):cls.driver.close_app()cls.driver.quit()print("-------------------- Byebye ----------------------- ")def setUp(self):print("setup")def tearDown(self):print("teardown")def test1_log_in(self):time.sleep(5)# wait for the log advertiseself.driver.find_element_by_name(u"我的").click()self.driver.find_element_by_id('com.XX.activity:id/tv_userheadloginfail_login').click()# 点击登陆# log by phone number and passwordself.driver.find_element_by_id('com.XX.activity:id/mobile_login').click()self.driver.find_element_by_id('android:id/text1').click()self.driver.find_element_by_id('com.XX.activity:id/edt_mobilenum').send_keys("13580478329")self.driver.find_element_by_id('com.XX.activity:id/edt_password').send_keys("1234567")self.driver.find_element_by_id('com.XX.activity:id/login').click()time.sleep(5)self.driver.save_screenshot("F:/testSpace/loginTestCase1/src/loginByPhoneNumber.png")print("login ok")def test2_log_out(self):# log outself.driver.find_element_by_name(u"我的").click()self.driver.find_element_by_id('com.XX.activity:id/rl_usercontent_setting').click()self.driver.find_element_by_id('com.XX.activity:id/exit').click()time.sleep(2)self.driver.find_element_by_id('android:id/button2').click()time.sleep(5)self.driver.save_screenshot("F:/testSpace/loginTestCase1/src/logout.png")print("log out ok")print("Test2 ok")if __name__ =='__name__':unittest.main()
附件列表
appium自动化测试(4)部分方法&unitest初步使用的更多相关文章
- Python+Appium自动化测试(7)-截图方法
一,selenium模块的两种截图方法 get_screenshot_as_file(filename) 参数filename为截图文件保存的绝对路径,如: driver.get_screenshot ...
- Python+Appium自动化测试(6)-元素等待方法与重新封装元素定位方法
在appium自动化测试脚本运行的过程中,因为网络不稳定.测试机或模拟器卡顿等原因,有时候会出现页面元素加载超时元素定位失败的情况,但实际这又不是bug,只是元素加载较慢,这个时候我们就会使用元素等待 ...
- 全网最新方法:Win10下如何安装和搭建appium自动化测试环境
为了方便大家,下面是本人安装和搭建appium所需要的软件,自取. 链接:https://pan.baidu.com/s/1wl5Xnos4BmnSZsBRd6B5YA#list/path=%2F ...
- 基于python的Appium自动化测试的坑
真的感谢@虫师 这位来自互联网的老师,让我这个原本对代码胆怯且迷惑的人开始学习自动化测试. 一开始搜索自动化测试的时候,虫师的博客园教程都是在百度的前几位的,我就跟着虫师博客园里面的教程学习.后来学s ...
- Appium自动化测试3之获取apk包名和launcherActivity后续
接着“Appium自动化测试3之获取apk包名和launcherActivity”章节介绍 测试脚本 1.测试脚本如下: # -*- coding:utf-8 -*- import os, time, ...
- Appium+python自动化(三十九)-Appium自动化测试框架综合实践 - 代码实现(超详解)
简介 经过一段时间的准备,完善的差不多了,继续分享有关Appium自动化测试框架综合实践.想必小伙伴们有点等不及了吧! driver配置封装 kyb_caps.yaml 配置表 参考代码 platfo ...
- Appium+python自动化(四十)-Appium自动化测试框架综合实践 - 代码实现(超详解)
1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.由于时间的关系,宏哥这里用代码给小伙伴演示两个模块:注册和登录. 2.业务模块封装 因为现在各种APP的层出不群 ...
- Appium+python自动化(四十一)-Appium自动化测试框架综合实践 - 即将落下帷幕(超详解)
1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.到今天为止,大功即将告成:框架所需要的代码实现都基本完成. 2.data数据封装 2.1使用背景 在实际项目过程 ...
- Appium自动化测试教程-自学网-adb命令
adb命令: adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信.它可为各种设备操作提供便利,如安装和调试应用. T ...
随机推荐
- 配置中心之Nacos简介,使用及Go简单集成
简介 为什么需要配置中心 我们现在有一个项目, 使用Gin进行开发的, 配置文件我们知道是一个config.yaml的文件, 也知道这个配置文件在项目启动时会被加载到内存中使用; 考虑三种情况: ...
- Ubuntu 之 Esc and CapsLK
Ubuntu 更换 CapsLK 和 ESC 内容如下 // vim .xmodmap !! No Caps Lock clear lock !! Make Caps_lock an escape k ...
- C#调用JAVA(一)制作jar包
1 //AndroidJavaClass类可以理解为某一个类 2 //AndroidJavaObject类可以理解为某一个类中的一个对象 打开AS,创建一个空项目 输入项目名,包名,本地路径以及语言之 ...
- Docker搭建zabbix+grafana监控系统
一.准备工作 1.mysql数据库:192.168.1.5 2.nginx服务:192.168.1.10 3.docker服务器:192.168.1.20 4.zabbix客户端若干 二.docker ...
- 编译x86_64 Linux内核并基于QEMU运行
编译并运行内核镜像 安装包准备 $ sudo apt install git $ sudo apt install build-essential kernel-package fakeroot li ...
- 浅析WebSocket 原理
浅析WebSocket 原理 长恨此身非我有,何时忘却营营. 简介:先简单了解下WebSocket 原理,日后的使用中再进一步深入研究~ 一.什么是WebSocket WebSocket 是HTML5 ...
- 在线CRM系统对企业的好处有哪些
随着信息技术的飞速发展,每个企业都希望通过互联网技术来让自身发展壮大.由于强大的管理能力和技术手段,在线CRM系统成为了企业用来管理自身获得发展的最佳选择.那么在线CRM系统对企业来说有哪些好处呢?本 ...
- 获取 Windows 密码「GitHub 热点速览 v.21.28」
作者:HelloGitHub-小鱼干 安全问题一直是 GitHub 的一大热点,因为数据安全问题诞生的各类自托管服务便是.而本周周榜上的 2 个和安全主题相关的项目,有些不同.mimikatz 是个老 ...
- Linux:获取Linux离线postgresql数据库安装包并部署
获取离线安装包(方法一) 1. 进入官网:https://www.postgresql.org/ 2. 下载步骤 (1)点击Download (2) 选择安装的服务器的版本 (3)更新yum源 #更 ...
- redis学习笔记(三)——redis的命令大全总结
总结了一些redis五种存储类型的常用命令以及一些通用操作命令,不是很全,是在学习的时候将学到的做了个汇总,使用的时候可以查一下. 笔记写在表格里面了,不好粘贴.......后面的直接截图了..... ...