Java 在selenium webdriver中为从excel加载的多个URL创建循环
我有大约500个不同页面的URL,我需要创建一个循环来按顺序打开这些URL,并在所有页面中执行相同的操作。(即打开第一个URL并执行一些操作,然后打开第二个URL并执行相同的操作 这是我的密码:Java 在selenium webdriver中为从excel加载的多个URL创建循环,java,selenium,testing,selenium-webdriver,automation,Java,Selenium,Testing,Selenium Webdriver,Automation,我有大约500个不同页面的URL,我需要创建一个循环来按顺序打开这些URL,并在所有页面中执行相同的操作。(即打开第一个URL并执行一些操作,然后打开第二个URL并执行相同的操作 这是我的密码: public class LoadPages { private WebDriver driver; private String baseUrl; private boolean acceptNextAlert = true; private StringBuffer verific
public class LoadPages {
private WebDriver driver;
private String baseUrl;
private boolean acceptNextAlert = true;
private StringBuffer verificationErrors = new StringBuffer();
public static final String Path_TestData = "D://WorkSpace/myproject/src/utility/";
public static final String File_TestData = "TestData.xlsx";
@Before
public void setUp() throws Exception {
ExcelUtils.setExcelFile(Constant.Path_TestData + Constant.File_TestData,"Sheet1");
System.setProperty("webdriver.chrome.driver",
C://Users/Admin/Downloads/chromedriver_win32/chromedriver.exe);
driver = new ChromeDriver();
baseUrl = "https://3ddiagnostix.com/newcp/?task=22&subID=";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.manage().window().maximize();
}
@Test
public void testUntitledTestCase() throws Exception {
String URL1 = ExcelUtils.getCellData(1, 2);
driver.get(baseUrl);
driver.findElement(By.name("username")).click();
driver.findElement(By.name("username")).clear();
driver.findElement(By.name("username")).sendKeys(UserName);
driver.findElement(By.name("password")).click();
driver.findElement(By.name("password")).clear();
driver.findElement(By.name("password")).sendKeys(Password);
driver.findElement(By.xpath("//*[@id='contentDiv']/form/table/tbody/tr[4]/td[4]/input")).click();
driver.get(baseUrl + URL2);
Thread.sleep(2000);
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("scroll(0,50)");
new Select(driver.findElement(By.id("DSO"))).selectByVisibleText("2077: 3DDX Sample");
driver.findElement(By.xpath("//option[@value='2077']")).click();
Thread.sleep(2000);
jse.executeScript("window.scrollTo(0, document.body.scrollHeight)");
new Select(driver.findElement(By.id("DSO"))).selectByVisibleText("30633: SmileSource");
driver.findElement(By.xpath("//option[@value='30633']")).click();
driver.findElement(By.id("btnUpdate")).click();
那么问题是什么?你被困在哪里了?用相关的HTML和错误堆栈跟踪(如果有)更新问题我认为(为了避免重复代码),你必须提供测试和这个500 url之间的层。这个层必须解析/读取这个url并发送到操作步骤/类。可能通过驱动程序中的关键字?get(baseUrl+URL2);只需键入driver.get(urlPage)。您在所有URL上执行的操作是什么?以下是操作:driver.get(baseUrl);driver.findElement(By.name(“用户名”)).sendKeys(用户名);driver.findElement(By.name(“密码”)).sendKeys(密码);driver.findElement(By.xpath(“/*[@id='contentDiv']]]/form/table/tbody/tr[4]/td[4]/输入“)).click();newSelect(driver.findElement(By.id(“DSO”))).selectByVisibleText(“2077:Sample”);driver.findElement(By.xpath(//option[@value='2077'])。click();newSelect(driver.findElement(By.id(“DSO”)).selectByVisibleText(“30633”);driver.findElement(By.id(“btnUpdate”)。click();