Appium 如何实现 Android 自带浏览器模拟百度搜索

Terry · 2014年02月20日 · 最后由 Terry 回复于 2014年02月24日 · 1396 次阅读

本人今天刚接触 Appium,遇到个问题想请大侠们指点迷津。

目的:用 Android 自带的浏览器模拟百度搜索。
问题:如何指定 Android 浏览器?

public class Test{
    private WebDriver driver;

    @Before
    public void setUp() throws Exception {
        // set up appium
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("device","selendroid");
//------------------------------------下面的不知如何写--------------------------------------------------------------//
        //capabilities.setCapability("app", "/system/app/Browser.apk");
        //capabilities.setCapability("app", app.getAbsolutePath());
        //capabilities.setCapability("app-package", "com.android.browser");
        //capabilities.setCapability("app-activity", ".FMSActivity");
//----------------------------------------------------------------------------------------------------------------------------//
        driver = new SwipeableWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
    }


    @Test
    public void testcase_001() throws Exception{
        driver.get("http://www.baidu.com");
        WebDriverWait wait = new WebDriverWait(driver, 30);
        wait.until(ExpectedConditions.presenceOfElementLocated(By.name("wd")));
        WebElement keyword = driver.findElement(By.name("wd"));
        keyword.sendKeys("appium");
        driver.findElement(By.id("su1")).click();
        Thread.sleep(5000);
     }

    @After
    public void tearDown() throws Exception {
        driver.quit();
    }

    public class SwipeableWebDriver extends RemoteWebDriver implements HasTouchScreen {
        private RemoteTouchScreen touch;
        public SwipeableWebDriver(URL remoteAddress, Capabilities desiredCapabilities) {
            super(remoteAddress, desiredCapabilities);
            touch = new RemoteTouchScreen(getExecuteMethod());
        }
        public TouchScreen getTouch() {
            return touch;
        }
    }

}
共收到 8 条回复 时间 点赞

http://stackoverflow.com/questions/21419914/how-can-i-use-selenium-or-appium-to-automate-chrome-browser-on-android
你研究下下文,我看到的内容好像都比较复杂。 有时间试试看。

#1 楼 @lihuazhang 谢谢~
我在 https://github.com/appium/appiumhttp://stackapps.com 搜索了下,ios 下的 Safari 有例子,但是 android 下的浏览器却没有。

#2 楼 @ningyuanye Android 下装一个 chrome 吧

#3 楼 @rattlesnake Android 手机已装 chrome,就是不知道怎么写 capabilities

#4 楼 @ningyuanye
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability("device", "Android");
cap.setCapability("app", "chrome");

#5 楼 @rattlesnake Error:could not find chromedriver, is it in path?

#6 楼 @ningyuanye 错误信息很明显啊,下载 chromedriver,把它放在一个文件夹下,然后把该文件夹放到 path 里

#7 楼 @rattlesnake 谢谢 O(∩_∩) O~,我原先以为是把下载的 chromedriver 放在 Android 下,现在明白了,是放在 Windows 下,加到 PATH 路径,现在可以运行了。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册