手机app测试驱动程序设计:python+unittest+HTMLTestRunner生成HTML格式的测试报告

下图为框架整体结构:
在这里插入图片描述

addnote1.csv文件,新增笔记测试脚本会读取到此文件内容:
在这里插入图片描述
配置文件config11.csv:
在这里插入图片描述

数据文件读取脚本csvreader.py:

import csv
import os
def reader(file):
    # 2、指定csv文件所在的路径
    base_path=os.getcwd()  # 代表当前文件所在路径
    path = base_path.replace(base_path,r"E:\ydy\test_data1"+file)  # 置换成csv文件所在路径
    # 3、打开这个csv文件
    list=[]
    with open(path) as file:
        # 4、读取csv文件中的内容
        table=csv.reader(file)
        # 5、返回文件中的内容
        for row in table:
            list.append(row)
        return list

BaseTest.py脚本:

import unittest2
from appium.webdriver.webdriver import WebDriver
class BaseTest(unittest2.TestCase):
    def setUp(self):
        self.caps={}
        self.caps['automationName']='UiAutomator2'
        self.caps["newCommandTimeout"] = "5000"
        self.caps['platformName'] = 'Android'
        self.caps["platformVersion"] = "6.0"
        self.caps["deviceName"]="192.168.75.103:5555"
        self.caps["appPackage"]="com.youdao.note"
        self.caps["appActivity"]=".activity2.SplashActivity"
        self.driver=WebDriver('http://127.0.0.1:4723/wd/hub',self.caps)
        self.driver.implicitly_wait(10)

    def tearDown(self):
        self.driver.quit()

新增笔记测试脚本test_add.py:

#新增笔记测试
import ddt
import unittest2

from  test_case1.BaseTest import BaseTest
from func1.csvreader import reader
from selenium.webdriver.support.wait import WebDriverWait
@ddt.ddt
class add_test(BaseTest):
    table=reader(r"\addnote1.csv")
    @ddt.data(*table)
    def test_case1(self,row):
        self.driver.implicitly_wait(10)
        aa=WebDriverWait(self.driver,15).until(lambda x: x.find_element_by_id("com.youdao.note:id/btn_ok"))
        if aa:
        # 点击同意按钮
            self.driver.find_element_by_id("com.youdao.note:id/btn_ok").click()
            #点击取消按钮
            self.driver.find_element_by_id("com.youdao.note:id/btn_cancel").click()
            #点击新增按钮
            self.driver.find_element_by_id("com.youdao.note:id/add_note").click()
            #点击新建笔记
            self.driver.find_element_by_id("com.youdao.note:id/add_icon").click()
            #点击“ALLOW"按钮
            self.driver.find_element_by_id("com.android.packageinstaller:id/permission_allow_button").click()
            #输入内容
            self.driver.find_element_by_xpath("//*[@resource-id='com.youdao.note:id/note_content']/android.widget.EditText").send_keys(row[1])
            #输入标题
            self.driver.find_element_by_id("com.youdao.note:id/note_title").send_keys(row[0])
            #点击"完成"按钮
            self.driver.find_element_by_id("com.youdao.note:id/actionbar_complete_text").click()
            #获取新增成功后的标题内容
            result=self.driver.find_element_by_id("com.youdao.note:id/title").text
            #断言判断
            self.assertEqual(row[0],result)

驱动程序run.py:

import csv
import unittest2
from lib.HTMLTestRunner import HTMLTestRunner
if __name__ == '__main__':
    # 打开对应的配置文件,进行读取
    file=open(r"E:\ydy\config1\config11.csv","r")
    table=csv.reader(file)
    for row in table:
        if row[2]=="yes":
            route=row[0]
            fname=row[1]
            suite=unittest2.defaultTestLoader.discover(route,fname)
            path=r"E:\ydy\report1\\"+row[3]
            file=open(path,"wb")
            HTMLTestRunner(stream=file,verbosity=1,title="有道云测试报告",description=row[4],tester="小米").run(suite)
    file.close()

当只需要运行新增笔记测试脚本test_add.py时,在配置文件中把下列其他脚本的yes改成no,然后运行run.py:
在这里插入图片描述

运行完成后,会在驱动程序中指定位置生成html格式的测试报告:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值