Python unittest框架实现appium登录
Posted 笨笨的妞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python unittest框架实现appium登录相关的知识,希望对你有一定的参考价值。
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(("[email protected]","111111",False), ("lsy.com", "1111112", True), ("l%$%$", "111111", 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 unittest框架实现appium登录的主要内容,如果未能解决你的问题,请参考以下文章
Appium基于python unittest自动化测试并生成html测试报告
python-appium520-2引入unittest,编写自动化用例
Appium python unittest pageobject如何实现加载多个case