dangai00 2020-06-06
#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()