appium 学习笔记(六)

用HTMLTestRunner导出测试报告:

先下载HTMLTestRunner.py文件。这里以别人改编的HTMLTestRunnerCN为例。

下载地址https://github.com/findyou/HTMLTestRunnerCN

暂时先把下载的文件放在自动化脚本的同级目录下,然后我们可以开始编辑我们的脚本

from appium  import webdriver
import time
import adbbase
import unittest
import HTMLTestRunnerCN


class HappyFoodTest(unittest.TestCase): #自动化框架,继承unittest.TestCase
    """开心粮票"""

    @classmethod
    def setUpClass(cls): #准备测试环境,每个用例前执行
        desired_caps = {}
        desired_caps['platformName'] = 'Android'
        desired_caps['paltformVersion'] = adbbase.platformVersion()
        desired_caps['deviceName'] = adbbase.platformName()
        desired_caps['appPackage'] = adbbase.appPackage()
        desired_caps['appActivity'] = adbbase.appActivity()
        global driver
        driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)

        time.sleep(5)

    def test_login(self): #用例,以test开头;登录测试
        """登录"""
        driver.find_element_by_id("phoneNumber").send_keys("13575220850")
        driver.find_element_by_id("passWord").send_keys("q0125016")
        driver.back()
        driver.find_element_by_id("login").click()
        time.sleep(1)
        try:  #自动点击app授权弹框
            button = driver.find_element_by_xpath("//android.widget.Button[contains(@text,'允许')]")
            button.click()
        except:
            print("自动点击应用app授权出错!")
        time.sleep(1)
        title = driver.find_element_by_id("com.happy.food:id/title").text
        self.assertEqual(title,"开心粮票")

    def test_billing_details(self):
        """结算详情"""
        driver.find_element_by_id("com.happy.food:id/mine").click()
        driver.find_element_by_id("com.happy.food:id/balanceDetail").click()
        title = driver.find_element_by_id("com.happy.food:id/title").text
        self.assertEqual(title,"结算详情")

    @classmethod
    def tearDownClass(cls): #清理环境,用例执行完后执行
        driver.quit()

def Suite():
    suiteTest = unittest.TestSuite()
    suiteTest.addTest(HappyFoodTest("test_login"))
    suiteTest.addTest(HappyFoodTest("test_billing_details"))
    return suiteTest

if __name__ == '__main__':
    # unittest.main()
    now = time.strftime("%Y-%m-%d--%H;%M", time.localtime())
    filepath = './report/'+ now + '.html'
    fp = open(filepath,'wb')
    runner = HTMLTestRunnerCN.HTMLTestRunner(
        stream=fp,
        title='自动化报告',
        tester='lin'
    )
    runner.run(Suite())
    fp.close()

time.strftime("%Y-%m-%d--%H;%M",time.localtime()) 为获取当前时间,以“2018-04-19--22;00”的方式显示(因为文件命名里不能有":",所以暂用";"替代)

filepath 为测试用例的保存路径

运行测试脚本,运行完后将自动生成测试报告在./report/  文件夹里


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值