zoukankan      html  css  js  c++  java
  • (八) 自动化测试的实例(以浏览器为例)

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

    # -*- 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)

    ***以上的浏览器只做了一些简单的操作,仅作简单参考作用
  • 相关阅读:
    Git.GitHub浅析
    十招让你的Powerpoint脱胎换骨
    UML用例图
    matlab 矩阵变换
    matlab实现主成分分析 princomp函数
    搭建顶级域名下的个人博客网站
    文本溢出(单行、多行)
    CSS入门级常识
    总结一下各种居中(内联元素、块级元素、浮动元素、绝对定位元素)*(水平、垂直)
    块级元素和内联元素的宽高是如何确定的
  • 原文地址:https://www.cnblogs.com/xiongxiaoyan/p/11412374.html
Copyright © 2011-2022 走看看