selenium代码选择单选按钮

时间:2011-04-28 12:00:43

标签: selenium

我正在使用selenium进行自动化测试,我需要有关如何选择单选按钮的帮助。如果可能帮助我使用selenium java代码。

7 个答案:

答案 0 :(得分:7)

假设你已经设置了selenium:

selenium.click('radio button locator');

您可能需要查看selenium javadoc http://release.seleniumhq.org/selenium-remote-control/0.9.2/doc/java/com/thoughtworks/selenium/Selenium.html

答案 1 :(得分:1)

click > xpath=(//input[@type='checkbox'])[position()=1]
click > xpath=(//input[@type='checkbox'])[position()=2]
click > xpath=(//input[@type='checkbox'])[position()=3]
click > xpath=(//input[@type='checkbox'])[position()=4]
等等...... 使用此命令选择随机和任何单选按钮

答案 2 :(得分:0)

public class radioExamJavaScr {

   public static void main(String[] args) throws IOException {

     WebDriver driver = new FirefoxDriver();
     EventFiringWebDriver  dr = new EventFiringWebDriver(driver);
     dr.get("http://www.makemytrip.com/");
     dr.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

     ((JavascriptExecutor)dr).executeScript("document.getElementById('roundtrip_r').click();");

     WebElement one_way = (WebElement)((JavascriptExecutor)dr).executeScript("return document.getElementById('oneway_r') ;");

     System.out.println(one_way.isSelected());

     WebElement round_trip = (WebElement)((JavascriptExecutor)dr).executeScript("return document.getElementById('roundtrip_r') ;");

     System.out.println(round_trip.isSelected());

      }
 }

在上面的示例中,我使用“JavaScript”选择带有“ROUND TRIP”的单选按钮。

最后四行是验证并查看是否在页面中选择了预期的单选按钮。

注意:我在选择的网页中提供简单易用的解决方案来解决问题(选择收音机)。可以编写更好的代码。 (用户可以编写一个接受无线电ID的方法,并遍历所有现有的单选按钮,看看是哪一个被选中)。

答案 3 :(得分:0)

我使用这种方法:

String radioButtonId = "radioButtonId";
selenium.focus("id=" + radioButtonId);
selenium.click("id=" + radioButtonId, "concreteRadioButtonValue");

答案 4 :(得分:0)

你可以做的是:

使用WebElement返回类型创建方法,并使用方法findElement()。例如:

WebDriver test;
test = new FirefoxDriver();

public static WebElement checkAndGet(By b) throws Exception {
    return test.findElement(b);
    }

存储WebElement并使用Method click()。例如:

WebElement radiobutton = checkAndGet(By.xpath("//span[@class='label ng-binding']");
radiobutton.click();

希望这有帮助!

答案 5 :(得分:0)

测试场景:选择性别(女性)单选按钮 步骤进行:

  1. 启动新浏览器
  2. 打开网址http://toolsqa.wpengine.com/automation-practice-form/

  3. 按值'女性'

  4. 选择单选按钮(女性)

    代码: public static void main(String [] args)抛出InterruptedException {

        System.setProperty("webdriver.chrome.driver", "C:\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver(); // Step 1 - Launch Browser
        driver.get("http://toolsqa.com/automation-practice-form"); // Step 2 - Open Test URL
        List<WebElement> rdBtn_Sex = driver.findElements(By.name("sex")); // 
        int size = rdBtn_Sex.size();
        System.out.println("Total no of radio button :"+size);
        for (int i=0; i< size; i++)
        {
            String sValue = rdBtn_Sex.get(i).getAttribute("value"); // Step 3 - 3.  Select the Radio button (female) by Value ‘Female’ 
            System.out.println("Radio button Name "+sValue);
            if (sValue.equalsIgnoreCase("Female"))
            {
                rdBtn_Sex.get(i).click();
    
            }
        }
    

答案 6 :(得分:-1)

您应该始终做的是为页面中的每个对象提供一个定位器,然后使用方法。

driver.findElement(By.xpath(//CLASS[contains(., 'what you are looking for')])).click();