app测试——ui自动化
一、打开模拟器或手机

二、连接模拟器:adb connect 127.0.0.1模拟器的端口号

三、安装测试包
安装测试包:adb install E:\dcs\two\app\baiduyuedu_5520.apk(测试包文件路径)


四、开appium

五、sdk中的tools中的uiautomatorviewer.bat

- 双击打开,获取页面的页面元素
 

- 替换成uiautomatorviewer.bat(有xpath,如果没有xpath的)
 - 步骤:第一步:再tools下的lib中替换jar包
 

- 第二包存放在E:\app\adt-bundle-windows-x86_64-20140702\sdk\platforms\android-20
 

- 第三:将tools下uiautomatorviewer.bat(删除,用这个最新的插件)
 

一、pycarm中参数
- 'platformName':'Android', #平台系统:
 

- 'deviceName':'OPPO R17', #设备名称
 

- 'platformVersion':'android-5.1W', #平台版本
 

- 'appPackage':'com.moji.mjweather', #包名
 

- 'appActivity':'com.moji.mjweather.LauncherActivity', #activity
 

- 'unicodeKeyboard': True, #使用unicode编码方式发送字符串 }
 - 'resetKeyboard':True} #是将键盘隐藏起来
 - dx=webdriver.Remote("http://127.0.0.1:4723/wd/hub",sc)
 

二、示例代码
from appium import webdriver
from time import *
import unittest
from uizdh.HTMLTestRunnerNew import HTMLTestRunner
import os
class appui(unittest.TestCase):
    def setUp(self) -> None:
        cs = {
            'platformName': 'Android',  # 平台系统:Android or Ios
            'deviceName': 'OPPO R17',  # 设备名称
            'platformVersion': 'android-5.1W',  # 平台版本
            'appPackage': 'com.baidu.yuedu',  # 包名
            'appActivity': 'com.baidu.yuedu.splash.SplashActivity',  # activity
            'unicodeKeyboard': True,  # 使用unicode编码方式发送字符串
            'resetKeyboard': True  # 是将键盘隐藏起来
        }
        self.dx = webdriver.Remote("http://127.0.0.1:4723/wd/hub", cs)
        sleep(10)
    def tearDown(self) -> None:
        self.dx.quit()
    def test1_ydts(self):   # 阅读图书
        self.dx.find_element_by_id("com.baidu.yuedu:id/folder_book_cover0").click()
        sleep(5)
        self.dx.find_element_by_id("com.baidu.yuedu:id/myyuedu_tv_book_title").click()
        sleep(5)
    def test2_search(self): # 搜索图书
        self.dx.find_element_by_id("com.baidu.yuedu:id/tab_search").click()
        sleep(5)
        self.dx.find_element_by_id("com.baidu.yuedu:id/full_text_search_bar_input").send_keys("狼图腾")
        sleep(5)
        self.dx.find_element_by_xpath("//android.widget.ImageView[@content-desc='百度阅读']").click()
        sleep(5)
    def test3_grzx(self):# 进入个人中心
        self.dx.find_element_by_id("com.baidu.yuedu:id/title_left_account").click()
        sleep(5)
    def test4_drts(self):  # 导入图书
        self.dx.find_element_by_id("com.baidu.yuedu:id/iv_close").click()
        sleep(5)
    def test5_qhlm(self):  # 切换小说栏目
        self.dx.find_element_by_id("com.baidu.yuedu:id/webbooktitle").click()
        sleep(5)
if __name__ == '__main__':
    # unittest.main()
    lj = r"E:\1\python\PycharmProjects\untitled\uizdh"
    bglj = r"E:\1\python\PycharmProjects\untitled\uizdh"
    # lj=os.path.dirname(os.getcwd())
    # bglj=os.path.join(lj)
    d = unittest.TestLoader().discover(start_dir=lj,pattern="appuisz*.py")
    new = strftime("%y-%m-%d %H-%M-%S")
    file = bglj+"/"+str(new)+"appui.html"
    f = open(file,"bw")
    HTMLTestRunner(
        stream = f,title = "appui自动化报告",description = "用例执行情况",tester = "dcs"
    ).run(d)

                    
                
                
            
        
浙公网安备 33010602011771号