zoukankan      html  css  js  c++  java
  • Appium + python

    from appium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from time import sleep
    descred_caps = {
    "platformName":"Android",
    "platformVersion":"5.1.1",
    "deviceName":"127.0.0.1:62001",
    "appPackage":"com.baidu.yuedu",
    "appActivity":"com.baidu.yuedu.splash.SplashActivity",
    "automationName":"uiautomator2",
    "noRset":"true",
    "unicodeKeyboard":"true",
    "resetKeyboard":"true"
    }
    driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub",descred_caps)

    #获取当前的avtivity
    print(driver.current_activity)

    #弹出个性化定制 -- 点击热门图书
    # 等主页面activity出现
    driver.wait_activity(".usercenter.view.activity.UserInterestSetActivity",10)
    driver.wait_activity(".splash.SplashActivity",20)
    # sleep(20)
    try:
    #-- 点击文学艺术
    driver.find_element_by_id("com.baidu.yuedu:id/check_box_6").click()

    #男生爱读
    sleep(5)
    driver.tap([(132,833),(288,868)],500)
    sleep(4)
    driver.tap([(500,833),(657,868)],500)

    #点击选好了
    driver.find_element_by_id("com.baidu.yuedu:id/tv_next").click()

    #点击简约白
    driver.find_element_by_id("com.baidu.yuedu:id/rbtn_theme_white").click()
    driver.find_element_by_id("com.baidu.yuedu:id/cb_choose_view").click()
    #点击立即开启
    driver.find_element_by_id("com.baidu.yuedu:id/tv_open").click()

    #点击知道了
    driver.find_element_by_id("com.baidu.yuedu:id/positive").click()

    # 获取当前的avtivity
    print(driver.current_activity)
    print(driver.contexts)

    driver.back() #点返回
    # 定位toast元素
    toast_loc = ("xpath", ".//*[contains(@text,'再按一次退出')]")
    t = WebDriverWait(driver, 10, 0.1).until(EC.presence_of_element_located(toast_loc))
    print(t)

    #点击图书
    driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").click()

    # 获取text
    print(driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").text)

    #获取tag_name
    print(driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").tag_name)

    # content-desc为空,获取的是text
    print(driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").get_attribute("name"))

    #text
    print(driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").get_attribute("text"))

    #bounds
    print(driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").get_attribute("bounds"))

    #size
    print(driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").size)

    #location
    print(driver.find_element_by_id("com.baidu.yuedu:id/tv_tab_title").location)

    except Exception:
    print("出错啦")
    # driver.quit()
  • 相关阅读:
    Python动态生成方法
    aid learning安装python
    Pic Go使用阿里云OSS搭建图床
    QSqlQuery、QSqlQueryModel、QSqlTableModel的区别
    python文件上传错误“Required request part 'xxx' is not present”
    【已解决】执行yum命令失败:error: rpmdb: BDB0113 Thread/process 16978/139878363277376 failed: BDB1507 Thread died in Berkeley DB library
    C# DataTable Select用法
    Error in event handler: SyntaxError: Unexpected token '<'
    Lodash 两个数组合并-排重
    forEach,map,filter,find,some,every区别
  • 原文地址:https://www.cnblogs.com/Teachertao/p/10990926.html
Copyright © 2011-2022 走看看