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 ...
随机推荐
- Python中Random随机数返回值方式
1.a=["1","2","3"] print(random.choice(a)), 随机返回列表a中的一个元素 print(random ...
- css角标
HTML: <div class='card-wrap'> <div class='news1'> <div class='ribbon'> <div cla ...
- js 简单实现获取短信按钮倒计时60秒
<!DOCTYPE html><html lang="en"><head> <meta http-equiv="Content- ...
- 链表逆序---python
class ListNode: Value = '' # 节点要储存的值,因为Python是弱类型,因此无需传入泛型 Next = None # 下一个节点,初始化时为空值 def __init__( ...
- 测试基础(四)Jmeter基础使用
前言 通过测试基础(三) Jmeter安装 - 大风北吹 - 博客园 (cnblogs.com)安装完成Jmeter后,就可以使用Jmeter进行性能测试. 一.线程组 (1).线程组分类 Jmete ...
- Linux | 搜索命令
grep grep 命令用于在文本中执行关键词搜索,并显示匹配的结果,格式:grep[选项][文本] grep命令的参数及其作用 参数 作用 -b 将可执行文件当作文本文件对待 -c 公显示找到的行数 ...
- 「CF576D」 Flights for Regular Customers
「CF576D」 Flights for Regular Customers 对不起我又想网络流去了 你看这长得多像啊,走过至少多少条边就是流量下界,然后没上界 但是这个题求的最少走多少条边啊...完 ...
- 你觉得我的这段Java代码还有优化的空间吗?
上周,因为要测试一个方法的在并发场景下的结果是不是符合预期,我写了一段单元测试的代码.写完之后截了个图发了一个朋友圈,很多人表示短短的几行代码,涉及到好几个知识点. 还有人给出了一些优化的建议.那么, ...
- yoyogo v1.7.6 增强程序优雅退出和K8s Readiness检查
YoyoGo (Go语言框架)一个简单.轻量.快速.基于依赖注入的微服务框架( web .grpc ),支持Nacos/Consoul/Etcd/Eureka/k8s /Apollo等 . 本次更新增 ...
- CF1025B题解
其他的几篇题解大多都是先求了 \(c_i \gets lcm(a_i,b_i)\) ,然后求全部 \(c_i\) 的最大公约数,但是对每一组数都求一下 \(lcm(a_i,b_i)\) 会增加时间复杂 ...