阅读 92

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

###

定位说三种定位: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,元素的操作,操作的方法有很多,到时候你再学学,

###

 

 

###

原文:https://www.cnblogs.com/andy0816/p/15125769.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐