一、首先创建测试套件

# -*- coding:utf-8 -*-
from __future__ import print_function
import pytest
import allure

class TestAppSuite(object):
pass

if __name__ == '__main__':
# pytest.main(['-s', '-q','./personal/test_my_car.py', '--alluredir', './appreport/','--clean'])
pytest.main(['-s', '-q', '--alluredir', './appreport/', '--clean'])
# pytest.main()

二、在当前目录下创建第一个测试脚本
# -*- coding:utf-8 -*-
import time
import allure
from apppytest.baseutil.DriverUtil import connect_device_usb

@allure.feature('App自动化测试用例_我的信用卡') # feature定义功能
@allure.story('打开我的信用卡页面') # story定义用户场景
def test_open_my_car():
driver = ''
try:
driver = connect_device_usb()
driver(resourceId="packagename:id/tv_my_car").click(timeout=3)
time.sleep(5)
with allure.step("检查页面标题"): # 将一个测试用例分成几个步骤,将步骤打印到测试报告中,步骤2
allure.attach('页面标题1', driver(resourceId="packagename:id/tv_title").get_text())

driver(text="我的信用卡").click(timeout=3)
with allure.step("打开我的信用卡"):
time.sleep(30)
allure.attach('我的信用卡标题2', driver(resourceId="packagename:id/tv_titlecommon").get_text())

except Exception as e:
print("exception>>",e)
finally:
driver.app_stop("packagename")
time.sleep(3)
三、在当前目录下创建第二个测试脚本
# -*- coding:utf-8 -*-
import time
import allure
from apppytest.baseutil.DriverUtil import connect_device_usb

@allure.feature('App自动化测试用例_我的钱包') # feature定义功能
@allure.story('打开我的钱包页面') # story定义用户场景
def test_open_my_wallet():
driver = ''
try:
driver = connect_device_usb()
driver(resourceId="packagename:id/tv_my_car").click(timeout=3)
time.sleep(5)
with allure.step("检查页面标题"): # 将一个测试用例分成几个步骤,将步骤打印到测试报告中,步骤2
allure.attach('页面标题1', driver(resourceId="packagename:id/tv_title").get_text())

driver(text="我的钱包").click(timeout=3)
with allure.step("打开我的钱包"):
time.sleep(15)
allure.attach('我的钱包标题2', driver(resourceId="packagename:id/tv_titlecommon").get_text())

except Exception as e:
print("exception>>",e)
finally:
driver.app_stop("packagename")
time.sleep(3)
四、执行用例TestAppSuite.py

五、生成html格式测试报告

allure generate  appreport/ -o  appreport/html --clean

pytest_多用例执行(1)的更多相关文章

  1. Pytest_用例执行顺序(5)

    在unittest中,测试用例的执行顺序与测试用例的名称有关,按照名称的ascii码排序的,并不是按照用例的编写顺序执行的. pytest默认是按用例的编写顺序执行的 我们可以通过第三方包 pytes ...

  2. 【Android自动化】unittest测试框架关于用例执行的几种方法

    # -*- coding:utf-8 -*- import unittest class test(unittest.TestCase): def setUp(self): print 'This i ...

  3. python unittest单元测试框架-3用例执行顺序、多级目录、装饰器、fixtures

    1.用例执行顺序 unittest默认会按照ascii码的顺序,依次执行.类名--方法名排序,使用discover也是默认排序.如果不想使用默认排序,就使用testsuite测试集的方式. impor ...

  4. PHP实现程序单例执行

    原创文章,转载请注明出处:http://huyanping.sinaapp.com/?p=222 作者:Jenner 一.场景描写叙述: 近期我们一块业务.须要不断的监听一个文件夹的变化.假设文件夹中 ...

  5. python单元测试框架-unittest(三)之用例执行顺序

    执行顺序规则: 测试类或测试方法的数字与字母顺序0~9,A-Z 执行如下脚本,理解用例执行顺序 #coding=utf-8 import unittest class Test1(unittest.T ...

  6. pybot执行多条用例时,某一个用例执行失败,停止所有用例的执行

    问题: pybot执行多条用例时,某一个用例执行失败,停止所有用例的执行 解决办法: pybot -exitonfailure E:\robot\呼送项目\测试用例\基本流程\主流程.txt 参考文章 ...

  7. robot用例执行常用命令(转)

    执行命令 执行一个用例 robot -t “testcase_name“ data_test.robot 按用例文件执行 robot data_test.robot或者 robot --suite “ ...

  8. python nose 自写插件打乱class类中用例执行顺序,但将test_a和test_z排除

    在使用nose时,有这样一个需求,用例执行打乱,但部分用例因场景原因必须先执行,这类用例在写用例时人为的加上了test_a或test_z字样 网上找了一圈,都没找到合适的方法,只有自己写插件了 已写完 ...

  9. RF 中一条用例执行失败,终止其他用例执行

    1. 需求: 执行某个测试套时,某条用例执行失败,则该用例下其他关键字不在执行(RF自带功能): 但实际情况下是 某条用例执行失败后,下面的用例再执行就没有意义了: 想满足某条用例执行失败,下面的用例 ...

随机推荐

  1. Class C++

    为了尽量降低全局变量的使用并提供用户自己定义类型的功能.C++语言提供了一种新的语言机制---类(class).并以类作为构造程序的基本单位 #include<iostream> usin ...

  2. Virtual Directory in IIS

    https://www.iis.net/configreference/system.applicationhost/sites/site/application/virtualdirectory O ...

  3. Gym - 100625J Jailbreak 最短路+搜索

    http://codeforces.com/gym/100625/attachments/download/3213/2013-benelux-algorithm-programming-contes ...

  4. Mysql学习总结(7)——MySql索引原理与使用大全

    一.索引介绍 索引是对数据库表中一列或多列的值进行排序的一种结构.在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快.索引的作用相当于图书的目录,可以根据目录中的页 ...

  5. qt hex to dec

    QString s = "32FE12AD";        quint8 u8vlaue = 0;        sscanf(s.toStdString().c_str(),  ...

  6. java.util.ConcurrentModificationException 异常解决的方法及原理

    近期在修程序的bug,发现后台抛出下面异常: Exception in thread "main" java.util.ConcurrentModificationExceptio ...

  7. /dev/shm和swap差别与联系

    1.基本理论 /dev/shm这个文件是寄生虫,寄存在内存中 swap是暂时在硬盘中划分一个区域,把它作为内存使用 2.怎样查看 使用df -lh能够查看/dev/shm 使用free -m能够查看s ...

  8. 在JAVA中怎样跳出当前的多重嵌套循环?

    在JAVA中怎样跳出当前的多重嵌套循环?         这道题是考察大家对于break语句的应用.同一时候也是对你多重嵌套循环的使用进行考察.在java中,要想跳出多重循环,能够在外循环语句前面定义 ...

  9. POJ 3050 枚举+dfs+set判重

    思路: 枚举+搜一下+判个重 ==AC //By SiriusRen #include <set> #include <cstdio> using namespace std; ...

  10. 深入理解Android(4)——理解Android中的JNI(下)

    在前面文章中简单介绍了JNI,这一篇文章来简单看一下jni.h中定义的一些常用方法,来实现通过C++调用Android中的Java代码. 转载请说明出处:http://blog.csdn.net/da ...