首页 技术 正文
技术 2022年11月14日
0 收藏 895 点赞 3,497 浏览 1678 个字
import unittest
from appium.webdriver import webdriver
from ddt import data,ddt,unpack
class MyTestCase(unittest.TestCase):
def setUp(self):#准备的过程
desired_caps = {}
desired_caps["platformName"] = "Android"
desired_caps["platformVersion"] = "4.3"
desired_caps["deviceName"] = "127.0.0.1:62001"
desired_caps["appPackage"] = "com.syswin.baijingtoon"
desired_caps["appActivity"] = ""
desired_caps["unicodeKeyboard"] = "Ture" # 支持汉字
desired_caps["resetKeyboard"] = "Ture"
self.driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
print("setUp")
#使用ddt的data注解,编写测试用例的参数,此时是多个参数的情况,每条参数就是一条测试用例
@data(("lsy@qq.com","",False),
("lsy.com", "", True),
("l%$%$", "", False))
@unpack
def test_login(self,username,password,expectedResult):#执行的过程,以test开头的测试用例
self.driver.find_element_by_id("email").send_keys(username)#填写邮箱
self.driver.find_element_by_id("pwd").send_keys(password)#填写密码
self.driver.find_element_by_id("btn").click()#点击登录按钮
try:
if self.driver.find_element_by_id("btn").is_displayed():#判断是都还有登录按钮,如果有result为False否则为Ture
result=False
except Exception :
result =True
self.assertEqual(result, expectedResult)#断言
def tearDown(self):#清理的过程
self.driver.quit() # 资源释放,不释放下次执行就会报错new session 不能建立,不能建立时需要重启appium
if __name__ == '__main__':
unittest.main()

测试用例执行层

import unittest
import unittestdemo
cases=unittest.TestLoader.loadTestsFromTestCase(unittestdemo.MyTestCase)#加载测试用例
mysuit=unittest.TestSuite([cases])#通过用例套件来跑用例
#用例套件外,想增加一条用例需要
#注意如果使用ddt数据驱动,每条用例的名称会自动生成,不是固定的test_login,所以不能通过以下方式添加单条用例,只能讲所有csaes加到suit中
mysuit.addTest(unittestdemo.MyTestCase("test_login"))
#verbosity日志级别
# 0 (静默模式): 只能获得总的测试用例数和结果
# 1 (默认模式): 非常类似静默模式 只是在每个成功的用例前面有个“.” 每个失败的用例前面有个 “F”
# 2 (详细模式):测试结果会显示每个测试用例的所有相关的信息
myrunner=unittest.TextTestRunner(verbosity=2)
myrunner.run(mysuit)
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,497
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,910
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,744
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,498
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,137
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,301