ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

appium,元素定位和元素操作,使用uiautomatorviewer

2021-08-10 21:01:14  阅读:250  来源: 互联网

标签:appium uiautomatorviewer text self 元素 driver caps desired id


###

定位说三种定位:id,class,xpath

###

操作说3种,点击,输入,获取元素值,

###

代码示例:

from appium import webdriver
import time
import unittest


class Test_Demo(unittest.TestCase):

    def setUp(self):
        desired_caps={}
        desired_caps['platformName']='Android'
        desired_caps['platformVersion']='6.0'
        desired_caps['deviceName']='emulator-5554'
        desired_caps['noReset']='true'  # 使用这个,就会记住上一次你的点击记录,
        desired_caps['appPackage']='com.tencent.news'
        desired_caps['appActivity']='com.tencent.news.activity.SplashActivity'
        desired_caps['dontStopAppOnReset']='true'
        self.driver=webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)

        time.sleep(8)

    def tearDown(self):
        pass
        # driver.quit()  #退出app

    def test_search_demo(self):
        self.driver.find_element_by_id("com.tencent.news:id/home_channel_search_box").click()
        self.driver.find_element_by_class_name("android.widget.EditText").send_keys("股票期权")
        self.driver.find_element_by_xpath("//*[@resource-id='com.tencent.news:id/search_history_title']").click()
        self.driver.implicitly_wait(5)
        text_ele = self.driver.find_elements_by_id("com.tencent.news:id/title_text")
        for item in text_ele:
            print(item.text)

        # print("text", text_ele)

if __name__ == '__main__':
    unittest.main()

###

代码解释:

注意1,desired_caps['noReset']='true'  # 使用这个,就会记住上一次你的点击记录,比如同意协议,不进行更新,这样的弹框选择

注意2,desired_caps['dontStopAppOnReset']='true',加上这个,就不用每次都重新启动app了,这样会大大的提高调试代码的效率,很重要,

注意3,self.driver.implicitly_wait(5),隐式等待,这个很重要,有很多时候你明明是定位对了,但是就是报错找不到元素,那就试试等待,一般会是这个问题,

注意4,元素的定位,定位方法有很多,到时候你再学学,

注意5,元素的操作,操作的方法有很多,到时候你再学学,

###

 

 

###

标签:appium,uiautomatorviewer,text,self,元素,driver,caps,desired,id
来源: https://www.cnblogs.com/andy0816/p/15125769.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有