我是Selendroid的新手,想知道是否有人可以帮助我。我只是试图进行测试以确保它能正常工作。这是我的代码:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import io.selendroid.common.SelendroidCapabilities;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import java.util.List;
import java.util.Set;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebDriver driver = new WebDriver() {
@Override
public void get(String s) {
}
@Override
public String getCurrentUrl() {
return null;
}
@Override
public String getTitle() {
return null;
}
@Override
public List<WebElement> findElements(By by) {
return null;
}
@Override
public WebElement findElement(By by) {
return null;
}
@Override
public String getPageSource() {
return null;
}
@Override
public void close() {
}
@Override
public void quit() {
}
@Override
public Set<String> getWindowHandles() {
return null;
}
@Override
public String getWindowHandle() {
return null;
}
@Override
public TargetLocator switchTo() {
return null;
}
@Override
public Navigation navigate() {
return null;
}
@Override
public Options manage() {
return null;
}
};
driver.get("https://finance.yahoo.com/quote/TSLA/history?p=TSLA");
String s = driver.findElement(By.id("search-button")).getText();
Log.d("Test: ", s);
}
}
但这是我得到的错误:
java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String org.openqa.selenium.WebElement.getText()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2339)
我最终想使用Selendroid登录到网站并单击,但是首先我必须使它工作。请帮我。
最佳答案
WebDriver
的创建应如下
SelendroidCapabilities capa = new SelendroidCapabilities("io.selendroid.testapp:0.17.0");
WebDriver driver = new SelendroidDriver(capa);
您正在为
WebDriver
创建一个匿名类,该类的方法实现仅返回null
值,这就是为什么要获取NPE
的原因。关于java - 如何在Android Studio中使用Selendroid,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49079711/