Java 如何使用testNG从selenium中的xml传递单选按钮值

Java 如何使用testNG从selenium中的xml传递单选按钮值,java,xml,selenium,testng,Java,Xml,Selenium,Testng,我将selenium与java和testNG一起使用,我想从xml文件(参数化)传递值。。我已经传递了所有文本值,但需要帮助来传递单选按钮值 以下是java代码: @Test(priority = 2) @Parameters({"provider_name","clientId","Dpid","nsdl"}) public void addDematAccount(String provider_name,String clientId,String Dpid, String nsdl )

我将selenium与java和testNG一起使用,我想从xml文件(参数化)传递值。。我已经传递了所有文本值,但需要帮助来传递单选按钮值

以下是java代码:

@Test(priority = 2)
@Parameters({"provider_name","clientId","Dpid","nsdl"})
public void addDematAccount(String provider_name,String clientId,String Dpid, String nsdl )
{
    driver.findElement(By.xpath("//a[contains(@href, '#/app/DematAccount/Add')]")).click();

    driver.findElement(By.id("ProviderName")).sendKeys(provider_name);
    driver.findElement(By.id("ClientId")).sendKeys(clientId);
    driver.findElement(By.id("DPId")).sendKeys(Dpid);


    driver.findElement(By.cssSelector("[value='Nsdl'][type='radio']")).click();
    driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
    driver.findElement(By.name("btn")).click();
    driver.findElement(By.className("confirm")).click();
 }
这是XML文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Sample Test Suite" verbose="1" >
  <test name="Test Demat account" >
    <parameter name="provider_name" value="testng"/>
    <parameter name="clientId" value="88544"/>
    <parameter name="Dpid" value="82843041"/>
    <parameter name="nsdl" value="nsdl"/>
  <classes>
     <class name="testngDemo.NewTestngDemo">
       <methods>
         <exclude name="deleteDematAccount" />
         <exclude name="logout" />
       </methods>
    </class>
  </classes>
 </test>
</suite>

HTML:


NSDL

我希望您面临的问题是如何从passingg单选按钮值中提取定位器是否正确?根据提供的代码,您正在传递字符串“nsdl”,但未在css选择器中正确使用。尝试附加它

   driver.findElement(By.cssSelector("[value='"+nsdl+"'][type='radio']")).click();
让我知道,如果这不是你想要的,那么请提供更多信息

谢谢,,
Murali

我希望您面临的问题是如何从passingg单选按钮值中提取定位器正确吗?根据提供的代码,您正在传递字符串“nsdl”,但未在css选择器中正确使用。尝试附加它

   driver.findElement(By.cssSelector("[value='"+nsdl+"'][type='radio']")).click();
让我知道,如果这不是你想要的,那么请提供更多信息

谢谢,,
穆拉里

我想我理解你的要求。由于测试通过了参数“nsdl”,您可以执行以下操作:

driver.findElement(By.cssSelector("[value='" + nsdl + "'][type='radio']")).click();

请注意,xml中的值是“nsdl”,而html中的值是“nsdl”(第一个字母的大小写不同)。您需要更新XML,我想我理解您的要求。由于测试通过了参数“nsdl”,您可以执行以下操作:

driver.findElement(By.cssSelector("[value='" + nsdl + "'][type='radio']")).click();

请注意,xml中的值是“nsdl”,而html中的值是“nsdl”(第一个字母的大小写不同)。您需要更新XML

值='Nsdl'用于查找元素。。我想通过在XMLHi中传递值来选择或单击单选按钮,我的坏消息我仍然没有得到你的观点。你可以通过,可以使用这个,对吗?这里的问题是什么?value='Nsdl'用于查找元素。。我想通过在XMLHi中传递值来选择或单击单选按钮,我的坏消息我仍然没有得到你的观点。你可以通过,可以使用这个,对吗?这里的问题是什么?这个代码是如何失败的?你有什么特别的错误吗?查看这些选择器操作的页面的HTML也会很有帮助。收音机有两个选项。。nsdl和cdsl。我想选择其中一个以XML形式传递的,这段代码中没有任何错误,但我想要解决我真正想要的问题。这段代码是如何失败的?你有什么特别的错误吗?查看这些选择器操作的页面的HTML也会很有帮助。收音机有两个选项。。nsdl和cdsl。我想选择其中一个以XML形式传递的,这段代码中没有任何错误,但我想要解决我真正想要的问题。