我正在尝试创建一个新的类,它将包含用于Selenium测试的所有变量。以下是课程:
类:VariablesRepo:
package src;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
public class variablesRepo {
// public static final WebElement ChkBox = null;
static WebDriver driver = new ChromeDriver();
static WebElement LoginButton = driver.findElement(By.id("btnLogin"));
}
package src;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeSuite;
import static org.testng.Assert.assertEquals;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.testng.annotations.AfterSuite;
public class NewTest {
WebDriver Driver = variablesRepo.driver;
@Test
public void TestElement() {
WebElement LoginButton = variablesRepo.LoginButton;
assert LoginButton.isDisplayed();
}
@BeforeSuite
public void beforeSuite() {
Driver.get("https://opensource-demo.orangehrmlive.com/");
}
@AfterSuite
public void afterSuite() {
Driver.close();
}
}
我们如何解决这个问题并从Repo类导入变量?
更新:我得到的errorstack是:
实际问题发生在variablesRepo类中。请参阅以下错误日志底部
在org.openqa.selenium.remote.remoteWebdriver.findElement(remoteWebdriver.java:315)在src.variablesrepo.(variablesrepo.java:12)
之所以会出现此问题,是因为在NewTest
类中的WebDriver driver=VariablesRepo.driver;
行为driver创建了两个线程,另一个线程是在使用driver查找VariablesRepo
类中的登录按钮时创建的。这就是为什么当您试图直接在NewTest
中找到登录按钮时,它会成功,因为您在@BeforeSuite
方法中打开url时使用的线程是相同的。
如果您希望只初始化一次驱动程序并将其用于所有其他类,那么使用BaseTest类并实现get_driver类方法来初始化驱动程序。并使用此方法获取所有测试类中的驱动程序。您可以阅读以下内容,了解如何全局初始化web驱动程序?
我为一个web元素编写了xpath,该元素位于div标记下,但它不起作用。如何为下面的html源代码编写xpath。
我正试图从一个站点获取一个数字(比特币的价值),使用下面的代码 它应该打印一个数字,但它没有打印。我尝试使用其他模块,如.gettext,但结果总是没有。我可以用什么来获得我想要的值?
我正在使用这段代码,但当我从首选项获得位置时,位置返回如下所示... 位置[mprovider=存储,Mtime=0,mlatitude=30.0,montilunde=76.0,mhasaltitude=false,maltitude=0.0,mhasspeed=false,mspeed=0.0,mhasbearing=false,mbearing=0.0,mhasaccuracy=false,
问题内容: 我想存储值并从Java HashMap中检索它们。 这是我到目前为止所拥有的: 我想从HashMap中检索所有键和值作为Java集合或实用程序集(例如)。 我知道只要知道密钥就可以获取值,例如: 有没有办法检索键值作为列表? 问题答案: Java Hashmap键值示例:
我想存储值并从Java HashMap中检索它们。 这是我目前所拥有的: 我想从HashMap中检索所有键和值,作为Java集合或实用程序集(例如,LinkedList)。 我知道如果我知道键,我可以得到值,如下所示: 有没有办法以列表的形式检索键值?
问题内容: 我是Java编程的新手,我正在搜索Java代码以将图像存储在PostgreSQL中并检索图像。 在PostgreSQL中,我使用了Bytea数据类型。图像已存储。但是当我检索时,我得到NULL。我无法获得图像。 对此的任何示例或对此的任何其他建议将是有帮助的。 问题答案: PostgreSQL jdbc文档的第7章介绍了如何存储二进制数据并使用图像(* .gif文件)作为示例。您可能想