zoukankan      html  css  js  c++  java
  • appium对博客园APP进行自动化测试

    前两天,zhangmumu 同学开发了博客园 Android 版APP:
    http://www.cnblogs.com/zhangmumu/p/8146725.html

    比官方的好用,官方的APP首页打开很慢。我刚好在用 appium,顺便对该APP写了个简单的自动化测试,供测试同学学习。


    ### 下载与安装

    下载App 并安装到手机。
    https://files.cnblogs.com/files/zhangmumu/cnblogs.apk


    ### 获取appPackage和appActivity

    参考appium测试之获取appPackage和appActivity

    最终,得到的APP信息如下:

    • appPackage:com.cnblogs.xamarinandroid
    • appActivity:md522127645c21675e531a6ac609ef72b2a.SplashScreenActivity


    ### 定位控件 参考,[Appium-desktop安装与使用](http://www.cnblogs.com/fnng/category/695788.html)


    ### 编写测试脚本

    通过 python + appium + unittest 编写appium自动化测试。

    
    from appium import webdriver
    from time import sleep
    from appium.webdriver.common.touch_action import TouchAction
    from selenium.webdriver.common.keys import Keys
    import unittest 
    
    class SearchTest(unittest.TestCase):
    
        def setUp(self):
            desired_caps = {}
            desired_caps['automationName'] = 'Appium'
            desired_caps['deviceName'] = 'PRO_5'
            desired_caps['platformName'] = 'Android'
            desired_caps['platformVersion'] = '7.0'
            desired_caps['noReset'] = True
            desired_caps["appPackage"] = "com.cnblogs.xamarinandroid"
            desired_caps["appActivity"] = "md522127645c21675e531a6ac609ef72b2a.SplashScreenActivity"
            self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
            sleep(5)
    
        def test_case(self):
            driver = self.driver
            # 点击搜索按钮
            driver.find_element_by_accessibility_id("搜索").click()
    
            # 搜索框
            search_src_text = driver.find_element_by_id("com.cnblogs.xamarinandroid:id/search_src_text")
            search_src_text.click()
            # 输入搜索关键字“appium”
            driver.keyevent(29) # a
            driver.keyevent(44) # p
            driver.keyevent(44) # p
            driver.keyevent(37) # i
            driver.keyevent(49) # u
            driver.keyevent(41) # m
            sleep(1)
            # 回车搜索
            driver.keyevent(66)  
            driver.keyevent(66)
        
        def tearDown(self):
            self.driver.quit()
    
    
    if __name__ == '__main__':
        unittest.main()
    

    操作步骤:打开 APP ,点击搜索按钮,搜索“appium”关键字。

    效果如下:

    最后,再次感谢 zhangmumu 开发的博客完APP。

    更多Appium 教程

    来源  :  虫师   https://www.cnblogs.com/fnng/

  • 相关阅读:
    专职DBA-MySQL体系结构与基本管理
    JSON
    MIME类型
    文件上传下载
    response常用的方法
    2020.11.27小记
    HTTP请求状态码
    1561. Maximum Number of Coins You Can Get
    1558. Minimum Numbers of Function Calls to Make Target Array
    1557. Minimum Number of Vertices to Reach All Nodes
  • 原文地址:https://www.cnblogs.com/rxxbb123/p/14232079.html
Copyright © 2011-2022 走看看