(八) 自动化测试的实例(以浏览器为例)

(一)自动化测试的实例(以浏览器为例)

# -*- coding: UTF-8 -*-
__author__ = 'xxy'
# 将所需要的包导入
import time
import unittest
from appium import webdriver
# 配置设备信息
desired_caps = {
'platformName': 'Android',
'deviceName': '0123456789ABCDEF',
'platformVersion': '4.4.2',
'appPackage': 'com.android.launcher3',
'appActivity': 'com.android.launcher3.Launcher',
'unicodeKeyboard':True,
'resetKeyboard':True
}
# 1.定义测试类,父类为unittest.TestCasse
class AppTest(unittest.TestCase):
# 2.定义setup()方法,用于执行测试用例前的初始化工作
# 注意,所有类中方法的入参为self,定义方法的变量也要“self.变量
def setUp(self):
self.driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_caps)
# 3.定义tearDown方法,用于测试用例结束后的善后工作(关闭服务器,关闭数据库之类的)
def tearDown(self):
self.driver.quit()
#滑动屏幕的方法
def getSize(self):
x=self.driver.get_window_size()['width']
y=self.driver.get_window_size()['height']
return (x,y)
#向上滑
def swipeTop(self,ti):
#先获取屏幕的高度和宽度,ti代表滑动的时间,以毫秒为单位1000毫秒=1秒
z=self.getSize()
x1=int(z[0]*0.5) # 获取x坐标
y1=int(z[1]*0.75) # 起始y坐标
y2=int(z[1]*0.25) # 终点y坐标
self.driver.swipe(x1,y1,x1,y2,ti)
#向下滑
def swipeDown(self,ti):
z=self.getSize()
x1=int(z[0]*0.5)
y1=int(z[1]*0.25)
y2=int(z[1]*0.75)
self.driver.swipe(x1,y1,x1,y2,ti)
#向右滑
def swipeRight(self,ti):
z=self.getSize()
x1=int(z[0]*0.25)
y1=int(z[1]*0.5)
x2=int(z[0]*0.75)
self.driver.swipe(x1,y1,x2,y1,ti)
#向左滑
def swipeLeft(self,ti):
z=self.getSize()
x1=int(z[0]*0.95)
y1=int(z[1]*0.5)
x2=int(z[1]*0.1)
self.driver.swipe(x1,y1,x2,y1,ti)
#4.写测试用例,测试用例的方法名必须要以test_开头
#浏览器
def test_Browser(self):
self.driver.start_activity('com.android.browser','com.android.browser.BrowserActivity')
# 1.定位到搜索框
url=self.driver.find_element_by_id('com.android.browser:id/url')
# 清空地址栏内容
url.clear()
# 2.在输入框中输入网址:www.baidu.com
url.send_keys('www.baidu.com')
time.sleep(10)
#搜索键的键值为66
self.driver.keyevent(66)
time.sleep(20)
#上下滑动(我将上下左右都写成了方法,直接调用就可以)
AppTest.swipeTop(self,10000)
time.sleep(5)
AppTest.swipeDown(self,10000)
time.sleep(5)
#点击更多按钮
more=self.driver.find_element_by_accessibility_id('更多选项')
more.click()
time.sleep(5)
#点击刷新按钮
fresh=self.driver.find_element_by_id('android:id/title')
fresh.click()
time.sleep(5)
#按Home键
self.driver.keyevent(3)
if __name__=='__main__':
#实例化测试套件
suit=unittest.TestSuite()
#将测试用例加到测试套件中
suit.addTest(AppTest('test_Browser'))
#实例化TextTestRunner类,要使用这个类下面的run()方法来执行用例
testrun=unittest.TextTestRunner()
#使用run()方法执行套件里面的用例
testrun.run(suit)

***以上的浏览器只做了一些简单的操作,仅作简单参考作用
posted @ 2019-08-26 14:31  xxy会飞的鱼  阅读(484)  评论(0编辑  收藏  举报