appium python unittest_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

希望与广大网友互动??

点此进行留言吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值