我有一个课程如下:
公开课模块3{
public static void main(String[] args) throws InterruptedException {
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
findElement1 a = new findElement1();
driver.get("webAddress");
driver.findElement(By.xpath("//*[@id='Username']")).sendKeys("A1");
driver.findElement(By.xpath("//*[@id='Password']")).sendKeys("1");
driver.findElement(By.xpath("//*[@id='loginBox']/form/p/button")).click();
Thread.sleep(2000L);
driver.findElement(By.xpath("//*[@id='mainNav']/li[2]/a")).click();
Thread.sleep(2000L);
driver.findElement(By.xpath("//*[@id='addNewEntryButton']")).click();
WebElement dropdown = driver.findElement(By.xpath("//*[@id='timeEntryTable']/tbody/tr[1]/td[1]/select"));
List<WebElement> dropOptions = dropdown.findElements(By.tagName("Option"));
for (int i=0; i<dropOptions.size(); i++)
{
System.out.println(dropOptions.get(i).getText());
}
Thread.sleep(2000L);
driver.findElement(By.xpath("//*[@id='timeEntryTable']/tbody/tr[1]/td[1]/select")).sendKeys(Keys.ARROW_DOWN);
driver.findElement(By.xpath("//*[@id='timeEntryTable']/tbody/tr[1]/td[5]/input")).sendKeys("5");
driver.findElement(By.xpath("//*[@id='timeEntryTable']/tbody/tr[1]/td[6]/input")).sendKeys("5");
driver.findElement(By.xpath("//*[@id='saveEntryButton']")).click();
Thread.sleep(5000L);
driver.findElement(By.xpath("html/body/div[2]/div[2]/div[2]/div/div[3]/div/header/div/button[4]")).click();
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
a.findValue();
driver.findElement(By.xpath("//button[contains(.,'submit')]")).click();
}
}
public void findValue() {
driver.get("webaddress");
By by = By.xpath("//button[contains(.,'submit')]");
isElementPresent(by);
driver.findElement(By.xpath(""));
}
public boolean isElementPresent(By by){
try{
driver.findElements(by);
System.out.println("execute");
return true;
}
catch(NoSuchElementException e){
return false;
}
}
创建一个公共类,其中可以保留公共的东西,并用于任何类:
package keya;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.*;
import org.openqa.selenium.By;
public class Common {
protected static WebDriver driver;
public Common(){
driver = new FirefoxDriver();
driver.manage().window().maximize();
}
public boolean isElementPresent(By by){
try{
driver.findElement(by);
return true;
}
catch(NoSuchElementException e){
return false;
}
}
}
由于您正在测试模块3,代码应如下所示:
package keya;
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebElement;
public class Module3 extends Common{
public static void main(String...strings) throws Exception{
Common c = new Common();
driver.get("webAddress");
driver.findElement(By.xpath("//*[@id='Username']")).sendKeys("A1");
driver.findElement(By.xpath("//*[@id='Password']")).sendKeys("1");
driver.findElement(By.xpath("//*[@id='loginBox']/form/p/button")).click();
Thread.sleep(2000L);
driver.findElement(By.xpath("//*[@id='mainNav']/li[2]/a")).click();
Thread.sleep(2000L);
driver.findElement(By.xpath("//*[@id='addNewEntryButton']")).click();
WebElement dropdown = driver.findElement(By.xpath("//*[@id='timeEntryTable']/tbody/tr[1]/td[1]/select"));
List<WebElement> dropOptions = dropdown.findElements(By.tagName("Option"));
for (int i=0; i<dropOptions.size(); i++)
{
System.out.println(dropOptions.get(i).getText());
}
Thread.sleep(2000L);
driver.findElement(By.xpath("//*[@id='timeEntryTable']/tbody/tr[1]/td[1]/select")).sendKeys(Keys.ARROW_DOWN);
driver.findElement(By.xpath("//*[@id='timeEntryTable']/tbody/tr[1]/td[5]/input")).sendKeys("5");
driver.findElement(By.xpath("//*[@id='timeEntryTable']/tbody/tr[1]/td[6]/input")).sendKeys("5");
driver.findElement(By.xpath("//*[@id='saveEntryButton']")).click();
Thread.sleep(5000L);
driver.findElement(By.xpath("html/body/div[2]/div[2]/div[2]/div/div[3]/div/header/div/button[4]")).click();
//Here is the verification whether Submit button is present or not
c.isElementPresent(By.xpath("//button[contains(.,'submit')]"));
//Rest of the code is here
}
}
所以您可以对任意数量的类/模块使用Common class的isElementPresent()方法。您可以通过扩展Common class来编写更多的类,这样您就可以使用一些常用的方法,并且WebDriver只在Common class中实例化一次。
问题是: 在本例中,我通过用芒果扩展MainClass得到了结果:mango two。但是在我的项目中,MainClass已经扩展到了另一个类。这就是为什么我要使用一个接口,我将用MainClass实现Mango类的重写方法 好像我可以从芒果类接收数据
问题内容: 我想将一个类变量传递给另一个类,并使其成为该类的类变量。在以下情况下我该怎么做? 问题答案: 很难理解您正在问的问题,但这是一个可能的答案: 使B类成为A的子类: 如果重新声明为,则会出现一种情况,其中存在一个可以称为或的属性。(或在任一或刚刚…甚至作为或地方,并有类型和分别。) 如果您无法在和(或,以及一些包含声明的第三类)之间创建直接或子类型关系,那么您很不走运。他们无法共享声明。
我是selenium初学者,只是想把webDriver传递给另一个类,但没有成功。程序应该打开浏览器(“Google”)并在主类中键入一些单词,在第二个类中应该按下“Google”按钮。 以下是我的主要课程: 这是我想从主驱动程序中使用的类。 当我运行它时,它对我说: 传递:main失败:printOnScreen java.lang.NullPointerException 我做错了什么?谢谢高
我是Java中Spring框架的新手。并且有一些问题… 我的应用程序使用Spring、Spring seq的安全性、Hibernate框架。 我正在编写一些简单的应用程序。 我有一个页面,可以通过Hibernate将用户添加到db。 用户类: 角色类: 保存在控制器中: 在UserDAO中保存 我在页面上有一个选择块,我可以在其中选择用户角色作为字符串。 所以在保存用户时,我有 所以据我所知,我应
我尝试将学生名字从main类传递到students类,但在运行时出错。 主类是 学生的班级是 此外,我如何使我的程序检查用户是否输入字符串? 谢谢大家
我在class中定义了一个变量。它可以很好地执行Account类中定义的提款功能。但是,我希望访问Sav\u acct类中存在的函数interest中的变量值。它将收回的值取为0。如何使用兴趣函数中的函数中的函数的值,以便执行正确的数学运算? 导入java。util。扫描仪; 类别帐户{ 双重撤回; } 作废取款(){ 扫描仪sc=新扫描仪(系统英寸); 系统出来println(“您想提取多少?”