appium+python+unittest+HTMLRunner登录自动化测试报告

环境搭建


python3
Java JDK
.netFramework
nodejs
android SDK
appium
Appium-Python-Client(pip install Appium-Python-Client)

连接设备


cmd打开命令行窗口
输入adb connect 127.0.0.1:62001连接模拟器
输入adb shell dumpsys window windows | findstr "Current"获取当前包名
启动appium

常用元素定位
driver.find_element_by_id
driver.find_element_by_class
driver.find_element_by_name
driver.find_element_by_xpath(//*[@text=‘text属性’])

编写登录脚本

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from appium import webdriver
import unittest
import time

desired_caps = {
    'platformName': 'Android',
    'platfromVersion': '5.1',
    'deviceName': '127.0.0.1:62001',
    'appPackge': 'com.xxxx.artstation',
    'appActivity': 'com.xxxx.artstation.main.login.activity.LoginActivity'
}


# TestCase类,所有测试用例继承的基本类
class LoginTest(unittest.TestCase):
    # 测试前执行的初始化工作
    def setUp(self):
        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

    # 测试用例执行后的善后工作。如关闭数据库连接,退出应用。无论写在哪,最后一个执行
    def tearDown(self):
        self.driver.quit()

    # 测试用例,必须以test开头
    def test_login(self):

        self.driver.find_element_by_id('com.xxxx.artstation:id/tv_sure').click()
        time.sleep(3)

        # 输入账号密码
        self.driver.find_element_by_id(
            'com.xxxx.artstation:id/clear_edittext_username').send_keys('158xxxxxxxx')
        self.driver.find_element_by_id(
            'com.xxxx.artstation:id/clear_edittext_password').send_keys('123456')

        # 点击登录按钮
        self.driver.find_element_by_id(
            'com.xxxx.artstation:id/tv_login').click
        time.sleep(3)

自动生成测试报告

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import HTMLTestRunner
import unittest
from testcase import test_login

if __name__ == '__main__':
    # 实例化测试套件,定义一个测试容器
    suite = unittest.TestSuite()
    # 加载测试用例
    suite.addTest(test_login.LoginTest('test_login'))

    # 使用discover方法批量加载运行测试用例
    # suite= unittest.defaultTestLoader.discover('../testcase','test_*.py')
    # runner = unittest.TextTestRunner()

    # 定义测试报告存放路径和报告名称
    with open('HTMLReropt.html', 'wb')as f:
        runner = HTMLTestRunner.HTMLTestRunner(
            stream=f,
            verbosity=2,
            title='XX登录自动化测试报告',
            description='执行人:嘻嘻'
        )
        runner.run(suite)

        # 关闭测试报告
        f.close()

 

马蜂窝怎么增加粉丝 http://blog.sina.com.cn/s/blog_184e9f38b0102yyi5.html  马蜂窝游记推广 https://tieba.baidu.com/p/6427032866

posted @ 2020-01-04 10:28  胡马  阅读(716)  评论(0编辑  收藏  举报