用python和unittest编写app自动化测试用例

import unittest
import webdriver
import time

class Test(unittest.TestCase):
    @classmethod
    def setUpClass(self):
        cap = {}
        cap[‘platformName‘] = ‘Android‘
        cap[‘platformVersion‘] = ‘4.4.2‘
        cap[‘deviceName‘] = ‘7N2SSE158P001892‘
        cap[‘noReset‘] = ‘noReset‘
        cap[‘appPackage‘] = ‘com.gomo.calculator‘
        cap[‘appActivity‘] = ‘.ui.activity.MainActivity‘
        self.driver = webdriver.Remote(‘http://localhost:4723/wd/hub‘,cap)

    @classmethod
    def tearDownClass(self):
        self.driver.quit()

    def test_Add(self):
        time.sleep(2)
        self.driver.find_element_by_id(‘com.gomo.calculator:id/input_num_1‘).click()
        self.driver.find_element_by_id(‘com.gomo.calculator:id/display_op_add‘).click()
        self.driver.find_element_by_id(‘com.gomo.calculator:id/input_num_2‘).click()
        self.driver.find_element_by_id(‘com.gomo.calculator:id/display_eq‘).click()
        print("test_Add success!!!")

    def test_Mul(self):
        time.sleep(2)
        self.driver.find_element_by_id(‘com.gomo.calculator:id/input_num_3‘).click()
        self.driver.find_element_by_id(‘com.gomo.calculator:id/op_mul‘).click()
        self.driver.find_element_by_id(‘com.gomo.calculator:id/input_num_4‘).click()
        self.driver.find_element_by_id(‘com.gomo.calculator:id/display_eq‘).click()
        print("test_Mul success!!!")

if __name__ == "__main__":
    #import sys;sys.argv = [‘‘, ‘Test.testName‘]
    unittest.main()

java版请移步:用java和junit编写app自动化测试用例

原文地址:https://www.cnblogs.com/mgzc-1508873480/p/8280530.html

时间: 2024-11-06 07:06:51

用python和unittest编写app自动化测试用例的相关文章

用java和junit编写app自动化测试用例

package myTest; import static org.junit.Assert.*; import io.appium.java_client.android.AndroidDriver; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import

python利用unittest测试框架组织测试用例的5种方法

利用unittest测试框架可以编写测试用例,执行方式分两大类:利用main方法和利用testsuite,其中利用测试套件来组织测试用例可以有4种写法. 在此之前,先了解几个概念 TestCase:所有测试用例的基本类,给一个测试方法的名字,就会返回一个测试用例实例: TestSuite:组织测试用例的实例,支持测试用例的添加和删除,最终将传递给  testRunner进行测试执行: TextTestRunner:进行测试用例执行的实例,其中Text的意思是以文本形式显示测试结果.测试的结果会保

Python+Selenium+Unittest编写超链接点击测试用例

测试功能:博客园首页网站分类的一级菜单链接和二级菜单链接的点击. 遇到的问题: 1.循环点击二级菜单时,点击了一个一级菜单下的第一个二级菜单后,页面会刷新,再定位同一个一级菜单次下的第二个二级菜单时, 会报错:找不到第二个二级菜单,这时需要对一级菜单重新定位赋值: 2.当一级菜单下的二级菜单太多时,在页面的不可见区域,这时会报错:element not interactable,这时需要滑动滚动条. # coding=utf-8 from selenium import webdriver im

Python+selenium+unittest的GUI自动化框架实现

框架设计说明图: 框架实现前的准备工作: 1.Python版本为2.7.11的Windows下的安装. 2.命令行下的selenium最新版本(编者使用版本为2.53.0,可兼容最新火狐.IE.chrome等浏览器版本)pip安装. 3.版本为Version: Mars.1 Release (4.5.1)的eclipse安装(编者Python开发使用工具),jdk1.7. 4.eclipse下Python开发插件PyDev 4.5.1(高版本不一定兼容当前eclipse版本与Java版本,高版本

编写UI自动化测试用例原则

1.一个脚本是一个完整的场景,从用户登陆操作到用户退出系统关闭浏览器.2.一个脚本脚本只验证一个功能点,不要试图用户登陆系统后把所有的功能都进行验证再退出系统3.尽量只做功能中正向逻辑的验证,不要考虑太多逆向逻辑的验证,逆向逻辑的情况很多(例如手号输错有很多种情况) ,验证一方面比较复杂,需要编写大量的脚本,另一方面自动化脚本本身比较脆弱,很多非正常的逻辑的验证能力不强. (我们尽量遵循用户正常使用原则编写脚本即可)4.脚本之间不要产生关联性,也就是说编写的每一个脚本都是独立的,不能依赖或影响其

python利用unittest进行测试用例执行的几种方式

利用python进行测试时,测试用例的加载方式有2种: 一种是通过unittest.main()来启动所需测试的测试模块:  一种是添加到testsuite集合中再加载所有的被测试对象,而testsuit里存放的就是所需测试的用例,下面分别列出3种方法的具体使用方式:1.通过unittest.main()来执行测试用例的方式: import unittest class UCTestCase(unittest.TestCase):    def setUp(self):        #测试前需

python中unittest单元测试框架-加载测试用例、运行测试用例、生成测试报告

unittest中加载测试用例的方法很多,这里先介绍addTest中添加用例-测试类的实例的方式: import os import unittest # 创建suite对象 suite = unittest.TestSuite() # 第一种方法:一个一个添加用例 from class1228_unittest_loader.test_cases.test_setup import * # 添加测试用例到suite套件里面:用例-测试类的实例 suite.addTest(TestSetUp('

selenium + python自动化测试unittest框架学习(二)

1.unittest单元测试框架文件结构 unittest是python单元测试框架之一,unittest测试框架的主要文件结构: File >report >all_case.py >test_case >__init__.py >test_case1..... >public >__init__.py >login.py >loginout.py test_case文件夹主要存放测试用例,且测试用例命名以test_开头 public文件夹是test

Python中unittest采用不同的参数组合产生独立的test case

我们在使用Python的unittest做自动化或者单元测试时,有时需要一个测试用例根据不同的输入.输出组合而执行多次,但是,unittest中一个用例只能有一组参数组合执行,如果采用循环的方式,在生成的测试报告中也只会有一个测试用例的统计,单实际上我们需要一组参数就统计为一个测试用例,又或者将用例复制N份(这种方式谁然可以满足需求,单实际上维护太麻烦,如果有一个改动,需要复制N份),那么我们应该采用什么样的办法来实现我们的需求呢?经过查找资料和百度,我们可以采用Python的setattr函数