当前位置: 首页 > 知识库问答 >
问题:

我的XML文件似乎没有将值推送到我的代码中。导致跳过我的测试

璩涛
2023-03-14

我正在为实践设置测试用例,并尝试从XML文件中为网站url和所需的浏览器(如果可用)提供参数。开关逻辑和webdriver命令看起来很可靠,但可能我遗漏了一些东西,使它完全跳过了它们。应该输出登录在两种情况下都成功。

在过去,我只是将数据作为变量输入,这是我第一次尝试使用xml处理数据注入。

公共类新测试{

WebDriver驱动程序;

@test(dataProvider="getData")公共无效登录(字符串用户名,字符串密码){
//代码登录到应用程序

driver.findElement(By.xpath("//*[@id=\'myNavbar\']/ul/li[4]/a")).click();
driver.findElement(By.id("usernameLogin")).sendKeys(username);
driver.findElement(By.id("passwordLogin")).sendKeys(password);
driver.findElement(By.id("login")).click();

   try
            {
                 //verifying the presence of webelement
````````````````````````````````````````````
    new WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.id("topMenu2")));
    System.out.println("login success");
                }
    catch(Exception e)
                {
    System.out.println("Login failure");

                }
    driver.findElement(By.id("topMenu2")).click();

          }


  @DataProvider
  public Object[][]getData() {
      Object[][]data=new Object[2][2];
      data[0][0]="pgGru";
      data[0][1]="freezeray";
      data[1][0]="pgAlmacho";
      data[1][1]="freezeray";
      return data;  
  }


  @BeforeSuite  
  @Parameters({ "browsername", "url" })
  public void setup(@Optional("Firefox")String browsername,String url) {    
    switch (browsername) {
    case "IE":
    WebDriver driver1;
    driver1 = new InternetExplorerDriver();
    System.setProperty("webdriver.IEDriverServer.driver", "D:\\Jarrrs\\Drivers\\IEDriverServer_win32");
    driver1.get(url);
    break;
    case "Firefox":
    WebDriver driver2;
    driver2 = new FirefoxDriver();
    System.setProperty("webdriver.geckodriver.driver","D:\\Jarrrs\\Drivers\\gecfkoDriver_win32");
    driver2.get(url);
    break;
    case "chrome":
    WebDriver driver3;
    driver3 = new ChromeDriver();
    System.setProperty("webdriver.chrome.driver, ","D:\\Jarrrs\\Drivers\\chromedriver_win32\\chromedriver.exe");
    driver3.get(url);
    break;  
    }   
  }


  @AfterSuite
  public void tearDown() {
    driver.quit();    
  }
}

Right now the output is it is skipping the test cases for login and password
Expecting two passed or failed tests. Either one would be nice.

共有1个答案

万俟皓
2023-03-14

我是新手。你所说的考试跳过是什么意思?登录()中的操作是否未执行?我会把它放进去。out语句,使用login()检查代码是否正在执行。加载页面后添加暂停怎么样?在用户名和密码字段中添加硬编码值以检查其工作是否正常,如何?有时,某些字段无法使用Selenium的sendkeys进行设置。需要使用JavascriptExecutor来设置字段值

 类似资料:
  • 问题内容: 我做了一些辅助功能: 问题是我的所有文件都没有被压缩!文件大小相同,实际上,扩展名已更改为“ .zip”(在本例中为“ .xls”)。 我在winXP sp2上运行python 2.5。 问题答案: 这是因为要求您指定压缩方法。如果未指定,则假定压缩方法为,该方法仅存储文件而不压缩文件。您需要将方法指定为。您将需要为此安装模块( 通常 默认情况下已安装)。

  • 我有一个类似于这个链接中的问题,但当我尝试我这边的解决方案时,它不起作用。 我创建了一个名为“example1”的新项目。然后,我在GitHub上创建了一个名为“example1”的存储库。 提交所有更改后,我运行 发现了这个信息: 然后我添加了以下命令: 然后检查: 但是,当我再次尝试进行git推送时,仍然会遇到上述相同的错误。 如何将代码推送到GitHub存储库?

  • 今天我在家里的电脑上安装了netbean,以便在家做一些工作。我安装了java 8 JDK(151),并安装了包含所有内容的netbean(没有进行自定义安装)。然后我把我的项目从github上撤下来。 我的安装文件夹是在E:\netbean我的项目文件夹是默认的c: 我加载了项目,打开XAMPP并运行它。太好了,很管用。 然后我对HTML进行了更改(修复了我犯的一个拼写错误)。再次运行。找不到零

  • 我有一个非常简单的超文本标记语言文件,其中有一个按钮。当单击此按钮时,函数loadDoc()在javascript文件(ajax.js)中运行。带有IDajax_text的div被更改为“单击”。到目前为止还不错。 现在,我试图对一个php文档进行ajax调用。php文档应该响应“Hello World!”。我试图通过使用警报(alert(msg))来显示此消息。php文档与我的HTML文档位于同

  • 问题内容: Scanner kb = new Scanner(System.in); System.out.println(“Inserting L”); int L = kb.nextInt(); System.out.println(“Inserting N”); int N = kb.nextInt(); System.out.println(“Inserting x”); String x

  • 我试图自学JavaFX,并试图创建一个简单的笑脸图像。但出于某种原因,我所有的形状都以中心为中心,而不是以X&Y坐标为中心。我想不出为什么。有人能帮我弄清楚吗? 下面是我的代码: 这就是我最后得到的