如何自动化Android标准浏览器
我想用Android标准浏览器测试几个网站。理想情况下,我想使用Appium或Espresso,但尽管我找到了如何使用它们测试自动化应用的说明,但我找不到自动化Android浏览器的相同说明,而不是Chrome、FF或其他浏览器 我希望能够调用浏览器、导航到网站、单击元素等我以前用Selenium做过的事情如何自动化Android标准浏览器,android,selenium,appium,android-espresso,Android,Selenium,Appium,Android Espresso,我想用Android标准浏览器测试几个网站。理想情况下,我想使用Appium或Espresso,但尽管我找到了如何使用它们测试自动化应用的说明,但我找不到自动化Android浏览器的相同说明,而不是Chrome、FF或其他浏览器 我希望能够调用浏览器、导航到网站、单击元素等我以前用Selenium做过的事情 有没有办法用Appium和/或浓缩咖啡来做到这一点 如果您已经安装了android sdk并配置了路径,请跳过步骤1 步骤1: 在.bashrc文件中配置sdk路径 类型 gedit.bas
有没有办法用Appium和/或浓缩咖啡来做到这一点 如果您已经安装了android sdk并配置了路径,请跳过步骤1 步骤1: 在.bashrc文件中配置sdk路径 类型 gedit.bashrc在终端 打开文本编辑器,键入以下内容并保存
export ANDROID_HOME="$HOME/adt/sdk"
export JAVA_HOME="/usr/bin/java"
export PATH=${PATH}:~/adt/sdk/tools
export PATH=${PATH}:~/adt/sdk/platform-tools
步骤2:
然后在终端键入uiautomatorviewer以启动uiautomatorviewer并获取要检查的元素的详细信息
示例代码供参考:
import os
from time import sleep
import unittest
from appium import webdriver
# Returns absolute path relative to this file and not cwd
PATH = lambda p: os.path.abspath(
os.path.join(os.path.dirname(__file__), p))
class SimpleAndroidTests(unittest.TestCase):
def setUp(self):
desired_caps = {}
#Specify platform below(Android, iOS)
desired_caps['platformName'] = 'Android'
#Specify OS version(Settings->About phone -> android version)
desired_caps['platformVersion'] = '4.4.4'
#Obtain the Device name from Adb[For Android](Terminal Command: "adb devices")
desired_caps['deviceName'] = 'TA93304QZD'
#Specify the path to Application
desired_caps['app'] = PATH('Media Drive-com.sandisk.scotti-55-v2.0.3.apk')
self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
def tearDown(self):
# end the session
self.driver.quit()
def test_images_copy(self):
self.driver.implicitly_wait(5)
for i in range(0,4):
self.driver.find_element_by_id("com.sandisk.scotti:id/txt_Next").click()
self.driver.implicitly_wait(5)
self.driver.find_element_by_id("com.sandisk.scotti:id/txt_Close").click()
self.driver.implicitly_wait(5)
self.driver.find_element_by_name("OK").click()
self.driver.implicitly_wait(5)
self.driver.find_element_by_id("com.sandisk.scotti:id/txt_Photo").click()
self.driver.implicitly_wait(5)
self.driver.find_element_by_id("com.sandisk.scotti:id/btn_Switch_Local").click()
self.driver.implicitly_wait(5)
self.driver.find_element_by_id("com.sandisk.scotti:id/txt_Name").click()
self.driver.implicitly_wait(5)
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(SimpleAndroidTests)
unittest.TextTestRunner(verbosity=2).run(suite)
Appium对此有点模棱两可,似乎无法决定是否支持android浏览器 根据Appium文档,您可以使用Android浏览器: 从服务器功能部分: browserName要自动化的移动web浏览器的名称。应该是空的 如果改为自动化应用程序,则返回字符串。“iOS版和Chrome版的Safari, Android的“Chromium”或“Browser” 但是代码中没有对它的引用,我也无法让它工作