zoukankan      html  css  js  c++  java
  • Appium(六)代码实例

    #coding=utf-8
    from appium import webdriver
    from appium.webdriver.common.touch_action import TouchAction
    from selenium.webdriver.common.by import By
    import pytest
    from hamcrest import *
    '''
    appium入门,简单事例
    
    pytest  setup_class 类初始化时运行一次后面不再运行 setup每次都运行
    hamcrest https://pypi.org/project/PyHamcrest/
    '''
    
    class TestAppium:
    
        @classmethod
        def setup(self):
            server = "http://localhost:4723/wd/hub"
            caps = {}
            caps["platformName"] = "android"
            caps["deviceName"] = "emulator-5554"
            caps["appPackage"] = "com.xueqiu.android"
            caps["appActivity"] = ".view.WelcomeActivityAlias"
            # caps["app"] = "./app/xueqiu.apk"
            #每次跑用例不重置app
            caps["noReset"]=True
            #权限弹窗自动处理
            caps["autoGrantPermissions"] = True
    
            self.driver = webdriver.Remote(server, caps)
            
            self.driver.implicitly_wait(15)
    
        def test_phone(self):
    
            self.driver.find_element_by_xpath("//*[@text='我的']").click()
            self.driver.find_element(By.XPATH,"//*[@text='手机号']").click()
            self.driver.find_element_by_id("com.xueqiu.android:id/register_phone_number").send_keys("18612977085")
            print(self.driver.find_element_by_id("com.xueqiu.android:id/register_phone_number").get_attribute("class"))
    
            #获取当前activity
            print(self.driver.current_activity)
            print(self.driver.current_context)
            # print(self.driver.current_window_handle)
            # print(self.driver.current_url)
    
    
    
        def testswipe(self):
            self.driver.find_element_by_xpath("//*[@text='行情']").click()
    
            self.driver.find_element_by_xpath("//*[@text='市场']").click()
            size=self.driver.get_window_size()
            width=size["width"]
            height=size["height"]
            self.driver.swipe(width*0.8,height*0.8,width*0.8,height*0.1,1000)
        def test_long_press(self):
            self.driver.find_element_by_xpath("//*[@text='行情']").click()
            el=self.driver.find_element_by_xpath("//*[@text='伊利股份']")
            TouchAction.press().wait().move_to().perform()
            '''
            press按住某个空间,wait等待,moveto移动到某个空间,perform执行操作
            long_press长按操作
            '''
            TouchAction(self.driver).long_press(el,3000).perform()
    
        @pytest.mark.parametrize("keywords,stock_type,prices",[
             ("阿里巴巴","BABA","202.67"),
             ("小米","01810","10.20")
        ])
        def test_search(self,keywords,stock_type,prices):
            self.driver.find_element_by_id("com.xueqiu.android:id/tv_search").click()
            self.driver.find_element_by_id("com.xueqiu.android:id/search_input_text").send_keys(keywords)
            # lis=self.driver.find_elements_by_id("com.xueqiu.android:id/name")
            self.driver.find_elements_by_id("com.xueqiu.android:id/name")[0].click()
    
    
            # for i in lis:
            #     if i.text==u"阿里巴巴":
            #         i.click()
            #         break
            price = self.driver.find_element_by_xpath("//*[contains(@text,'"+stock_type+"')]/../../..//*[contains(@resource-id,'current_price')]").text
            assert price==prices
            # self.driver.find_element_by_xpath("//*[contains(@text,'阿里')]")
    
    
    
        def teardown(self):
            self.driver.quit()
           
  • 相关阅读:
    Catch That Cow POJ 3278(BFS)
    python的各种推导式(列表推导式、字典推导式、集合推导式)
    贝叶斯神经网络
    浅谈贝叶斯
    置换检验
    Python的基本用法
    字符串和编码
    开启新篇章
    无偏博弈类问题
    PAT1103
  • 原文地址:https://www.cnblogs.com/guoke1001/p/13057498.html
Copyright © 2011-2022 走看看