zoukankan      html  css  js  c++  java
  • Appium自动化测试之IOS WebView和Safari

    前言

    不管是iOS平台的web view还是safari浏览器都需要安装及设置以下三点:

    1、brew install --HEAD libimobiledevice

    2、brew install ios-webkit-debug-proxy

    3、settings(设置) > safari(浏览器) > advanced(高级) > web inspector(网页检查器) -> on(打开)

    iOS WebView

     1 import time
     2 from appium import webdriver
     3 
     4 class Test_Demo():
     5     def setup(self):
     6         caps = {}
     7         caps["deviceName"] = "iPhone 11 Pro Max"
     8         caps["platformVersion"] = "13.5"
     9         caps["platformName"] = "ios"
    10         caps["automationName"] = "xcuitest"
    11         # caps["noReset"] = True
    12         caps["app"] = "/Users/aaron/Desktop/UICatalog.app.zip"
    13         caps["startIWDP"] = True
    14 
    15         self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
    16         self.driver.implicitly_wait(20)
    17 
    18     def test_click(self):
    19         self.driver.find_element_by_accessibility_id("Web View").click()
    20         #每隔一秒打印一下上下文
    21         for i in range(3):
    22             print(self.driver.contexts)
    23             time.sleep(1)
    24         #切换webview里
    25         self.driver.switch_to.content(self.driver.contexts[1])
    26         #打印网页源文件
    27         print(self.driver.page_source)
    28         #保存图片到本地
    29         self.driver.save_screenshot("main.png")
    30         #点击bug按钮
    31         self.driver.find_element_by_link_text("Buy").click()
    32         time.sleep(10)
    33         self.driver.save_screenshot("buy.png")
    34 
    35     def teardown(self):
    36         time.sleep(20)
    37         self.driver.quit()

    如上我是在模拟器中运行的代码。

    iOS Safari

     1 from appium import webdriver
     2 from selenium.webdriver.common.by import By
     3 from selenium.webdriver.support import expected_conditions
     4 from selenium.webdriver.support.wait import WebDriverWait
     5 import time
     6 
     7 class TestView():
     8     def setup(self):
     9         caps = {}
    10         caps["deviceName"] = "iPhone 11 Pro Max"
    11         caps["platformVersion"] = "13.5"
    12         caps["platformName"] = "ios"
    13         caps["automationName"] = "xcuitest"
    14         caps["browserName"] = "Safari"
    15         # 如果是真机需要加上如下四项
    16         # caps["startIWDP"] = True
    17         # caps["xcodeOrgId"] = "8278HWK4WG"
    18         # caps["xcodeSigningId"] = "iPhone Developer"
    19         # caps["udid"] = "2721277896a12c5170b349ef1a0c350c305d85ce"
    20 
    21         self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
    22 
    23     def test_webview(self):
    24         url = "http://www.baidu.com"
    25         self.driver.get(url=url)
    26         WebDriverWait(self.driver,15).until(expected_conditions.visibility_of_element_located((By.NAME,"word")))
    27         self.driver.find_element_by_name("word").send_keys("appium")
    28 
    29     def teardown(self):
    30         time.sleep(20)
    31         self.driver.quit()
  • 相关阅读:
    关于2019-nCoV事件中新媒体的作用
    评估移民宇宙计划
    关于2019-nCoV事件,分析自己的焦虑心理
    肺炎阴云仍未散去,今天捡到一个贝壳
    关于新型肺炎,重点是毒性
    提高效率的方法
    《白说》读书笔记
    MIPS下载运行busybox
    camera模组笔记
    求知领域
  • 原文地址:https://www.cnblogs.com/hanxiaobei/p/13028560.html
Copyright © 2011-2022 走看看