unittest 管理用例生成测试报告
# 登录方法的封装 from appium import webdriver
from time import sleep
from python_selenium.Slide import swipeLeft def login(user,pwd):
caps = {
"platformName": "Android",
"deviceName": "127.0.0.1:21503",
"platformVersion": "5.1.1",
"appPackage": "com.yw.yzz",
"appActivity": "com.yw.yzz.biz.splash.SplashActivity",
"unicodeKeyboard": "True",
"resetKeyboard": "True",
"noReset": "True"
}
dr = webdriver.Remote("http://127.0.0.1:4723/wd/hub",caps)
dr.implicitly_wait(10)
sleep(3)
try:
dr.find_element_by_id("com.yw.yzz:id/iv_img")
sleep(2)
except:
dr.find_element_by_id("com.yw.yzz:id/seting_tab").click()
else:
swipeLeft(dr,3,1000)
sleep(1)
dr.find_element_by_id("com.yw.yzz:id/btn_open").click()
sleep(4)
dr.find_element_by_id("com.yw.yzz:id/seting_tab").click()
sleep(1)
dr.find_element_by_xpath('//android.widget.TextView[@resource-id="com.yw.yzz:id/tv_name"]').click()
el2 = dr.find_element_by_id("com.yw.yzz:id/et_phone")
el2.send_keys(user)
el3 = dr.find_element_by_id("com.yw.yzz:id/et_password")
el3.send_keys(pwd)
el4 = dr.find_element_by_id("com.yw.yzz:id/btn_login")
sleep(1)
el4.click()
try:
dr.find_element_by_id("com.yw.yzz:id/tv_phone")
except:
raise AssertionError
else:
pass
return dr
# 滑动方法封装 from time import sleep def swipeLeft(dr,n,t):
width = dr.get_window_size()["width"]
height = dr.get_window_size()["height"]
for i in range(n):
dr.swipe(width*0.9,height/2,width*0.1,height/2,t)
sleep(1) def swipeUp(dr,n,t):
width = dr.get_window_size()["width"]
height = dr.get_window_size()["height"]
for i in range(n):
dr.swipe(width*0.5,height*0.9,width*0.5,height*0.1,t)
sleep(1)
# 用例输出 from python_selenium.yyt_login import login
from time import sleep
import unittest class YYT(unittest.TestCase):
def setUp(self):
self.driver = login("1777982xxxx","xxxxxxx")
sleep(1)
el1 = self.driver.find_element_by_id("com.yw.yzz:id/iv_btn_setting")
el1.click() def test_ChangeName(self):
el2 = self.driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout")
el2.click()
el3 = self.driver.find_element_by_id("com.yw.yzz:id/ll_updateinfo_name")
el3.click()
el4 = self.driver.find_element_by_id("com.yw.yzz:id/et_my_changemyname")
el4.clear()
el4.send_keys("xxxx")
el5 = self.driver.find_element_by_id("com.yw.yzz:id/top_right_tv")
el5.click() def test_ChangeSex(self):
self.driver.tap([(0,131),(1080,281)],500)
sleep(1)
self.driver.find_element_by_id("com.yw.yzz:id/ll_updateinfo_gender").click()
sleep(1)
self.driver.find_element_by_id("com.yw.yzz:id/ll_choosegender_secret").click() def tearDown(self):
self.driver.back()
sleep(1)
el7 = self.driver.find_element_by_id("com.yw.yzz:id/exit_btn")
el7.click()
el8 = self.driver.find_element_by_id("com.yw.yzz:id/sure_button")
el8.click()
sleep(1)
self.driver.quit() if __name__ == '__main__':
unittest.main()
# 批量运行用例及生成测试报告 import unittest
import HTMLTestRunner path = "D:\\work_doc\\CodeFile\\python_selenium"
testcase = unittest.defaultTestLoader.discover(path,pattern="case.py",top_level_dir=None) YYTtestreport = "d:\\testreport.html"
with open(YYTtestreport,"wb") as YYT:
runner = HTMLTestRunner.HTMLTestRunner(YYT,title="测试报告",description="详细报告")
runner.run(testcase)
unittest 管理用例生成测试报告的更多相关文章
- unittest管理用例生成测试报告
#登录方法的封装 from appium import webdriver from time import sleep from python_selenium.Slide import swipe ...
- Python3 完美解决unittest框架下不生成测试报告
前提: 1.运行测试用例一切正常,只是没有测试报告显示 2.使用命令行pyhon 脚本名字.py 却可以生成测试报告 3.pycharm 在运行测试用例的时候 默认是以unittest 框架来运行的, ...
- unittest管理接口用例(数据分离-读取excel)
1.简单读取 #coding=utf-8 #调用封装好的excel读取公共方法 from python_API.common.ReadExcel import ReadExcel import req ...
- (appium+python)UI自动化_09_unittest批量运行测试用例&生成测试报告
前言 上篇文章[(appium+python)UI自动化_08_unittest编写测试用例]讲到如何使用unittets编写测试用例,并执行测试文件.接下来讲解下unittest如何批量执行测试文件 ...
- 五、postman公共函数及newman运行与生成测试报告
一.公共函数 postman中定义公共函数如下 1.每次断言的时候都需要重写或者复制之前的断言代码,可以通过如下方法定义断言的公共函数,以后每次断言的时候只需要调用公共函数即可进行断言 设置公共函数对 ...
- 记录python接口自动化测试--利用unittest生成测试报告(第四目)
前面介绍了是用unittest管理测试用例,这次看看如何生成html格式的测试报告 生成html格式的测试报告需要用到 HTMLTestRunner,在网上下载了一个HTMLTestRunner.py ...
- python接口自动化测试(七)unittest 生成测试报告
用例的管理问题解决了后,接下来要考虑的就是报告我问题了,这里生成测试报告主要用到 HTMLTestRunner.py 这个模块,下面简单介绍一下如何使用: 一.下载HTMLTestRunner下载: ...
- python语言(八)多线程、多进程、虚拟环境、unittest、生成测试报告
一.多线程 进程与线程 进程:进程是资源(CPU.内存等)分配的最小单位,进程有独立的地址空间与系统资源,一个进程可以包含一个或多个线程 线程:线程是CPU调度的最小单位,是进程的一个执行流,线程依赖 ...
- Python+Selenium+Unittest+HTMLTestRunner生成测试报告+发送至邮箱,记一次完整的cnblog登录测试示例,
测试思路:单个测试集.单个测试汇成多个测试集.运行测试集.生成测试报告.发送至邮箱. 第一步:建立单个测试集,以cnblog登录为例. 测试用例: cnblog的登录测试,简单分下面几种情况:(1)用 ...
随机推荐
- Linux网络安全篇,认识防火墙(一)
一.概念 防火墙分为软件防火墙和硬件防火墙.我们的主要讨论范围为软件防火墙. 软件防火墙又分为网络型和单一型的管理. 1.单一主机型防火墙 (1)数据包过滤型的Netfilter (2)依据服务软件程 ...
- Vue项目添加动态浏览器头部title
0. 直接上 预览链接 + 效果图 Vue项目添加动态浏览器头部title 1. 实现思路 ( 1 ) 从路由router里面得到组件的title ( 2 ) title存vuex (本项目已经封装h ...
- modelform+代码发布系统前奏
目录 注意点 form.html 添加编辑页面 ModelForm 添加 编辑 删除 代码优化 优化1 优化2 优化3 注意点 <form class="form-horizontal ...
- Windows Server 2016 Storage Replication
Storage Replication是Windows Server 2016中新增的一项功能,它是利用windows server自带的块存储复制技术 首先,我们简答粗暴的交代一下部署需求: 1.该 ...
- coding++:都说新的Arraylist 扩容是(1.5倍+1) 看了1.8的源代码发现不是这么回事
都说新的Arraylist 扩容是(1.5倍+1) 看了1.8的源代码发现不是这么回事 就用下面这段代码在jdk的三个版本运行看了下效果: import java.lang.reflect.Fiel ...
- mysql的事务四个特性以及事务的四个隔离级别
一.事务四大属性 分别是原子性.一致性.隔离性.持久性. 1.原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库, ...
- 关于《Python自动化测试实战》
作者有话说 笔者写这本书的初心是想通过自身经验分享一些在自动化测试领域中的实用技术,能够帮助那些正在从事自动化测试相关工作或者准备转型自动化测试的测试人员.任何一门技术涵盖的知识点都是非常广泛的,可能 ...
- Daily Scrum 1/14/2016
Zhaoyang & Yandong: Still optimizing the speech input interface Dong & Fuchen: Image asynchr ...
- I - Fill The Bag codeforces 1303D
题解:注意这里的数组a中的元素,全部都是2的整数幂.然后有二进制可以拼成任意数.只要一堆2的整数幂的和大于x,x也是2的整数幂,那么那一堆2的整数幂一定可以组成x. 思路:位运算,对每一位,如果该位置 ...
- Spring IoC getBean 方法详解
前言 本篇文章主要介绍 Spring IoC 容器 getBean() 方法. 下图是一个大致的流程图: 正文 首先定义一个简单的 POJO,如下: public class User { priva ...