一、首先创建测试套件

# -*- 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. 欢迎各位技术牛人增加Swift QQ群:343549891

    急招:五年以上Swift开发经验,24个月工资.30天年假.配司机专车. 欢迎各位技术牛人增加Swift 敏捷大拇指 官方QQ群1: 报上"来自CSDN"就可以.谢谢! 訪问 大拇 ...

  2. 遇到 Form 性能问题怎么办 performance issue

    性能问题是比較复杂的问题. 一般由performance team 负责, 可是常见的情况是, 我们 INV team 定义的 view 不好, 导致查询性能较差. 这个必须由产品组和 perform ...

  3. iRedMail邮件系统配置简易视频安装教程

    iRedMail邮件系统配置简易视频安装教程        iRedMail邮件系统配置简易视频安装教程 iRedMail中文名为“艾瑞得邮件系统”, 属于开源的企业邮件解决方案,但其性能不逊于任何商 ...

  4. SQL 查找存在某内容的存储过程

    --查找存在某表名的存储过程 SELECT distinct b.name from syscomments a,sysobjects b WHERE a.id=b.id and a.TEXT LIK ...

  5. python 多线程学习小记

    python对于thread的管理中有两个函数:join和setDaemon setDaemon:如果在程序中将子线程设置为守护线程,则该子线程会在主线程结束时自动退出,设置方式为thread.set ...

  6. Vuejs2.0构建一个彩票查询WebAPP(3)

    整个工程的目录及截图如下,源码下载    使用心得: 1.了解Vue的生命周期很有必要,详情参见博文Vue2.0 探索之路——生命周期和钩子函数的一些理解 2.Vuex全局状态管理真是美味不可言 st ...

  7. 36Kr众筹项目比呀比biyabi,调查分析研究报告,背后资方势力的关系梳理

    36Kr众筹项目比呀比biyabi调查报告 个层次的评价.   变革家-比呀比拆解报告:http://biangejia.com/archives/12653 8.其它 没有通过微信,参加路演,有点遗 ...

  8. 翻译《虚幻引擎4艺术大师 - 蓝图 III 》 中文版

    本文章由cartzhang编写,转载请注明出处. 所有权利保留.  文章链接:http://blog.csdn.net/cartzhang/article/details/49800063  作者:c ...

  9. CCF模拟 无线网络

    无线网络 时间限制: 1.0s 内存限制: 256.0MB   问题描述 目前在一个很大的平面房间里有 n 个无线路由器,每个无线路由器都固定在某个点上.任何两个无线路由器只要距离不超过 r 就能互相 ...

  10. cocos2dx 3.0正式版 在mac上新建项目

    触碰科技确定2.x版本号不会再更新了,会一直维护3.x的版本号.于是赶紧看看3.0的,简单浏览一下.类的使用方法和原来的几乎相同,仅仅是 表达的写法变了下,. . . . 以后肯定有非常多变化,速度熟 ...