如何在Android应用中成功运行网络驱动程序?

时间:2019-06-12 12:45:38

标签: android selenium webdriver

所以有一个网站,当我们在“用户名”占位符中输入字符时,会出现一个验证码,我想在我的应用程序中使用它。

我尝试使用硒的ChromeDriver,但它给了我以下错误:“无法找到可用端口”。 是否可以更改ChromeDriver的端口?

然后我想我可以在JS中做同样的事情,并使用Rhino将其称为Java。但是我找不到适用于JS Web驱动程序(适合我要执行的任务)的教程,或者我错过了。

MainActivity.java:

 @Override
protected void onResume(){
    super.onResume();
    new MyBackgroundDriver().execute("https://www.google.com/");//for test lets consider google.com
}

class MyBackgroundDriver extends AsyncTask<String, Void, Void> {

    @Override
    protected Void doInBackground(String... url) {
        WebDriver driver=new ChromeDriver();
        driver.get(url[0]);
        driver.quit();
        return null;
    }
}

app / build.gradle:

apply plugin: 'com.android.application'

android {

    compileSdkVersion 28

    packagingOptions {

        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/ASL2.0'
        .....
    }
}

.....

dependencies {

    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'com.android.support:appcompat-v7:28.0.0'

    implementation 'org.seleniumhq.selenium:selenium-java:2.46.0'

    implementation 'junit:junit:4.12'

    //implementation 'io.appium:java-client:3.0.0'

    implementation 'com.android.support.constraint:constraint-layout:1.1.3'

    androidTestImplementation 'com.android.support.test:runner:1.0.2'

    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

请帮助我解决此错误,或提供获取生成的验证码的解决方案(因为我希望UI有所不同,请不要使用WebView)。因此,即使有某种方式可以更改UI(可以通过隐藏Webview或在后台运行UI),也非常欢迎您。

0 个答案:

没有答案