当我打开下面的测试时,chrome一直在运行几次,导致测试失败。我已经调试了两天,找不到问题。你能指出我在哪里出错吗,任何帮助都将不胜感激!
WebDriver ChromeDrive类
public class LauchDriver {
public WebDriver LauDriver(){
WebDriverManager.chromedriver().setup() ;
WebDriver driver = new ChromeDriver();
return driver;
}
}
Object类
public class ContactpageObjects {
public ContactpageObjects( ){
LauchDriver laudriver = new LauchDriver();
PageFactory.initElements(laudriver.LauDriver(), this);
}
@FindBy(css = ".hero")
List<WebElement> header1 ;
@FindBy(xpath = "//input[@class = 'search__input'][@data-highlight = 'true']")
WebElement searchField;
@FindBy(xpath = ".//button[@class = 'search__submit']")
WebElement submit;
public List<WebElement> getHeader(){
return header1;
}
public WebElement getSearchField(){
return searchField;
}
public WebElement getSubmit(){
return submit;
}
}
测试类
public class ContactPageTest
{
public ContactpageObjects getObjects(){
ContactpageObjects obj = new ContactpageObjects();
return obj;
}
@Test
public void enterSearchText(){
LauchDriver lauch = new LauchDriver();
lauch.LauDriver().get("https://www.mywebsite.uk/speed");
for(WebElement a:getObjects().getHeader()){
String text = a.findElement(By.cssSelector(".hero__title")).getText();
assertEquals("Contact", text);
System.out.println(text);
}
ContactpageObjects obj = new ContactpageObjects();
obj.getSearchField().sendKeys("closing");
getObjects().getSubmit().click();
}
@Test
public void contactHeader()
{
for(WebElement a:getObjects().getHeader()){
String text = a.findElement(By.cssSelector(".hero__title")).getText();
assertEquals("Contact", text);
System.out.println(text);
}
}
}
发生这种情况是因为您没有将驱动程序传递给页面对象类。对于下面的类,参数应该是驱动程序,并且应该从测试用例传递。在方法之前创建启动驱动程序对象,并将驱动程序传递给页面对象。
public ContactpageObjects(WebDriver driver){
PageFactory.initElements(driver, this);
}
问题内容: 我无法开始用。 它永远不会 失败,但会失败: 我正在使用( virtualenv installation)和(64b)。 编辑 降级为: 但是,可悲的是,结果仍然相同。 知道为什么会这样吗? 问题答案: 好的,所以解决方案 有点奇怪 。 我将二进制文件从(已安装的位置)移动到,更新了符号链接,它现在可以正常工作! 与问题本身相比,以下两行代码可以解决问题: 现在,我可以运行以下Pyt
Since 10.0.18 startContinuousLocation startContinuousLocation 持续获取当前设备的经纬度信息 支持版本:从10.0.18开始 使用方法 AlipayJSBridge.call('startContinuousLocation', function(result) { alert(JSON.stringify(result)); });
我的类与共享首选项交互。 它从共享首选项加载一个字符串集,默认值包含22个字符串,保存在其<代码>章节 变量中。 当一个"完成"事件在程序的后面发生时,Storyteller会从中删除一个String,然后将其提交给Shared首选项。 我的日志显示最初加载了22个字符串,然后删除并提交到编辑器后加载了21个字符串。 当我再次运行程序时,加载的是22章,而不是预期的21章。 第一次运行的日志: 第
我已经看到了几个其他的线程处理类似的问题,但并不相同。我正在使用直接连接到浏览器,而偶尔会出现以下错误,无法启动。看起来我可以在配置文件中设置一些浏览器超时,只是无法计算出来。类似于 [chrome#1]直接使用ChromeDriver... 我已经多次运行这些相同的测试,现在在Firefox驱动程序上得到了失败。非常不规则 “D:\Program Files(x86)\JetBrains\Web
启动Appium服务器后,当我单击Appium中的inspector图标时,它会打开模拟器,然后出现我的应用程序页面,然后自动关闭。每次我点击Inspector图标,iphone模拟器就会加载 我下载了2-3个不同的测试应用程序,它们运行良好,Appium inspector也运行良好。
我有一个4节点的Kubernetes集群,有1个主节点和3个工作节点。我使用kubeconfig连接到kubernetes集群,因为昨天我无法使用kubeconfig连接。 提供了一个错误“到服务器api.xxxxx.xxxxxx.com的连接被拒绝-是否指定了正确的主机或端口?” 然后检查kube-apiserver docker,它继续退出/crashloopbackoff。 显示以下错误 W