Appium+Unittest+HTMLTestRunner

雷电模拟器为例:

from appium import webdriver
import unittest
from time import sleep
import HTMLTestRunner
from appium.webdriver.common.touch_action import TouchAction

class appTest(unittest.TestCase):

    def setUp(self):
        desired_caps = {}
        desired_caps['platformName'] = 'Android'
        desired_caps['platformVersion'] = '5.1.1'
        desired_caps['deviceName'] = 'emulator-5554'
        desired_caps['appPackage'] = 'com.android.settings'
        desired_caps['appActivity'] = '.Settings'
        desired_caps['unicodeKeyboard'] = True
        desired_caps['resetKeyboard'] = True
        # 获取浏览器对象
        self.driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
        sleep(2)

    # 用例1:点击WLAN----修改网络---后动代理---自动输入值
    def test_wlan(self):
        driver = self.driver
        sleep(2)
        #点击无线
        driver.find_element_by_xpath("//*[contains(@text,'WLAN')]").click()
        sleep(2)
        #长按wifi
        wifi = driver.find_element_by_id("android:id/summary")
        TouchAction(driver).long_press(wifi,3000).perform()
        sleep(2)
        #点击“修改网络”
        driver.find_element_by_xpath("//*[contains(@text,'修改网络')]").click()
        sleep(2)
        #点击“高级选项”
        driver.find_element_by_id("com.android.settings:id/wifi_advanced_togglebox").click()
        # driver.find_element_by_xpath("//*[contains(@text,'高级选项')]").click()
        sleep(2)
        #点击“无”
        driver.find_element_by_xpath("//*[contains(@text,'无')]").click()
        sleep(2)
        #点击“手动”
        driver.find_element_by_xpath("//*[contains(@text,'手动')]").click()
        sleep(2)
        #输入”代理服务器主机名“
        driver.find_element_by_id("com.android.settings:id/proxy_hostname").send_keys("192.168.48.131")
        sleep(2)
        #输入”代理服务器端口“
        driver.find_element_by_id("com.android.settings:id/proxy_port").send_keys("7777")
        sleep(2)
        #输入”对以下网址不适用代理“
        driver.find_element_by_id("com.android.settings:id/proxy_exclusionlist").send_keys("baidu.com")
        sleep(2)
        #点击IP设置
        driver.find_element_by_xpath("//*[contains(@text,'DHCP')]").click()
        sleep(2)
        #选择”静态“
        driver.find_element_by_xpath("//*[contains(@text,'静态')]").click()
        sleep(2)
        #滑动
        driver.swipe(200,1570,200,620)
        sleep(2)
        #ip地址
        driver.find_element_by_id("com.android.settings:id/ipaddress").send_keys("127.0.0.1")
        sleep(2)
        #dns2
        driver.find_element_by_id("com.android.settings:id/dns2").send_keys("1.1.1.1")
        sleep(4)
        #点击“保存”
        driver.find_element_by_xpath("//*[contains(@text,'保存')]").click()
        sleep(2)
        #点击返回
        driver.find_element_by_class_name("android.widget.ImageButton").click()
        # TouchAction(driver).tap(x=91,y=159,count=1)
        sleep(2)
        
    #用例2:绘图Z
    def test_huitu(self):
        driver = self.driver
        # 存储 移动到 无线
        sleep(2)
        WLAN = driver.find_element_by_xpath("//*[contains(@text,'WLAN')]")
        cunchu = driver.find_element_by_xpath("//*[contains(@text,'存储')]")
        driver.drag_and_drop(cunchu, WLAN)
        sleep(2)
        # 点击"安全"
        driver.find_element_by_xpath("//*[contains(@text,'安全')]").click()
        sleep(2)
        # 点击“屏幕锁屏方式”
        driver.find_element_by_xpath("//*[contains(@text,'屏幕锁定方式')]").click()
        sleep(2)
        # 点击“图案”
        driver.find_element_by_xpath("//*[contains(@text,'图案')]").click()
        # 180  636
        # 901  636
        # 180  1360
        # 904  1360
        sleep(2)
        TouchAction(driver).press(x=180, y=636).wait(3000) \
            .move_to(x=720, y=0).wait(1000) \
            .move_to(x=-720, y=720).wait(1000) \
            .move_to(x=720, y=0).wait(1000) \
            .release().wait(1000)\
            .perform()
        sleep(2)
        driver.find_element_by_xpath("//*[contains(@text,'继续')]").click()
        sleep(2)
        driver.find_element_by_xpath("//*[contains(@text,'取消')]").click()
        sleep(2)
        # 点击返回
        driver.find_element_by_class_name("android.widget.ImageButton").click()
        sleep(2)
        
    #用例3:滑动亮度
    def test_liangdu(self):
        driver = self.driver
        sleep(2)
        #点击”显示“
        driver.find_element_by_xpath("//*[contains(@text,'显示')]").click()
        sleep(3)
        # 点击亮度
        driver.find_element_by_xpath("//*[contains(@text,'亮度')]").click()
        sleep(3)
        #拖动
        TouchAction(driver).press(x=503, y=217).wait(3000).move_to(x=853, y=209).release().perform()
        sleep(2)
        
    #用例4:修改提示音和通知
    def test_music(self):
        driver = self.driver
        sleep(2)
        # 点击”提示音和通知“
        driver.find_element_by_xpath("//*[contains(@text,'提示音和通知')]").click()
        sleep(2)
        # 拖动”媒体音量“
        TouchAction(driver).press(x=165, y=507).wait(3000).move_to(x=882, y=503).release().perform()
        sleep(2)
        # 拖动”闹钟音量“
        TouchAction(driver).press(x=165, y=735).wait(3000).move_to(x=868, y=735).release().perform()
        sleep(2)
        # 拖动铃声音量
        TouchAction(driver).press(x=165, y=967).wait(3000).move_to(x=919, y=963).release().perform()
        sleep(2)
        # ”开启“   来电响铃振动
        driver.find_element_by_id("android:id/switchWidget").click()
        sleep(2)
        # 点击“手机铃声”
        driver.find_element_by_xpath("//*[contains(@text,'手机铃声')]").click()
        sleep(3)
        # 点击“无”
        driver.find_element_by_xpath("//*[contains(@text,'无')]").click()
        sleep(3)
        # 点击“确定”
        driver.find_element_by_xpath("//*[contains(@text,'确定')]").click()
        sleep(3)
        # 点击“默认通知铃声”
        driver.find_element_by_xpath("//*[contains(@text,'默认通知铃声')]").click()
        sleep(3)
        # 点击“无”
        driver.find_element_by_xpath("//*[contains(@text,'无')]").click()
        sleep(3)
        # 点击“确定”
        driver.find_element_by_xpath("//*[contains(@text,'确定')]").click()
        sleep(3)

    def tearDown(self):
        self.driver.quit()




if __name__ == '__main__':

    print("ssss")
    test = unittest.TestSuite()
    test.addTest(appTest("test_wlan"))
    sleep(3)
    test.addTest(appTest("test_huitu"))
    sleep(3)
    test.addTest(appTest("liangdu"))
    sleep(3)
    test.addTest(appTest("music"))

    file = "D:/test.html"
    fil = open(file, "wb")
    runner = HTMLTestRunner.HTMLTestRunner(
        stream=fil,
        title='安卓测试报告',
        description='执行用例结果'
    )
    runner.run(test)

执行结果如下:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值