Skip to content

手机浏览器自动化测试


手机浏览器自动化前提


capability 配置

  • browserName chrome browser
  • chromedriverExecutableDir
  • showChromedriverLog

chromedriverExecutableDir

ceshiren.com: ~ seveniruby$ ls /Users/seveniruby/projects/chromedriver/chromedrivers
chromedriver_2.20       chromedriver_79.0.3945.36
chromedriver_2.23       chromedriver_80.0.3987.106
chromedriver_2.42       chromedriver_81.0.4044.69
chromedriver_74.0.3729.185  chromedriver_95.0.4638.54
chromedriver_76         fakechromedriver_107.sh
chromedriver_78.0.3904.11

手机浏览器自动化测试 python 版

class TestBrowser:
    def setup_class(self):
        # setup the web driver and launch the webview app.
        capabilities = {
            'platformName': 'android',
            'browserName': 'chrome',
            # python appium client 2.x 需要追加这个参数
            'chromeOptions': {'w3c': False},
            'chromedriverExecutableDir': '/Users/seveniruby/projects/chromedriver/chromedrivers'
        }
        self.driver = webdriver.Remote('http://localhost:4723/wd/hub', capabilities)
        self.driver.implicitly_wait(10)

    def test_browser(self):
        self.driver.get("https://ceshiren.com")
        self.driver.find_element(AppiumBy.ID, 'search-button').click()
        self.driver.find_element(By.CSS_SELECTOR, '.search-query').send_keys('webview')
        self.driver.find_element(By.CSS_SELECTOR, 'button.search-cta').click()
        assert 'webview' in self.driver.find_element(By.CSS_SELECTOR, '.topic-title').text


手机浏览器自动化测试 java 版

public class WebViewTest {

    private static AndroidDriver driver;

    @BeforeAll
    public static void beforeAll() throws MalformedURLException {
        DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
        desiredCapabilities.setCapability("platformName", "android");
        desiredCapabilities.setCapability("noReset", true);
        desiredCapabilities.setCapability("browserName", "Chrome");
        //设置保存有所有chromedriver的一个目录,让appium自动发现对应的版本
        desiredCapabilities.setCapability("chromedriverExecutableDir",
                "/Users/seveniruby/projects/chromedriver/chromedrivers");

        URL url = new URL("http://127.0.0.1:4723/wd/hub");
        driver = new AndroidDriver(url, desiredCapabilities);
        driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
    }

    @Test
    public void browser() {
        driver.get("https://ceshiren.com");
        driver.findElement(By.id("search-button")).click();
        driver.findElement(By.cssSelector(".search-query")).sendKeys("webview");
        driver.findElement(By.cssSelector("button.search-cta")).click();
        assertThat(
                driver.findElement(By.cssSelector(".topic-title")).getText(),
                containsString("webview")
        );
    }
}