在C#(Selenium WebDriver)进行下拉选择时,如何使用“ IF STATEMENT…”

时间:2018-11-08 16:19:08

标签: selenium selenium-webdriver webdriver

我是Selenium的新手。我有一个下拉字段,始终会选择某些内容,并且正在寻找一种方法来说明是否运行测试,并且下拉菜单选择了一个值,下次运行测试时,我希望网络驱动程序知道先前的值在那里然后将其替换为新值。这是我写的,但是不起作用:

 IWebElement element = _driver.FindElement(By.Name("requestedby"));
        var selectElement = new SelectElement(element);                

        if (_driver.FindElement(By.Name("requestedby")).Equals("ALLCAPS"))
        {
            new SelectElement(element).SelectByValue("NOCAP");
        }
        else if (_driver.FindElement(By.Name("requestedby")).Equals("NOCAP"))
        {
            new SelectElement(element).SelectByValue("ALLCAPS");
        }
        else
        {
            new SelectElement(element).SelectByValue("NOCAP");
        }


        //_driver.FindElement(By.Name("$btn_save")).Click();

2 个答案:

答案 0 :(得分:1)

要获取当前值,请使用.SelectedOption.GetAttribute("value")

IWebElement element = _driver.FindElement(By.Name("requestedby"));
var selectElement = new SelectElement(element);                
var currentValue = selectElement.SelectedOption.GetAttribute("value");
// for current Text
// var currentText = selectElement.SelectedOption.Text;

if (currentValue.Equals("NOCAP"))
{
    selectElement.SelectByValue("ALLCAPS");
}
else
{
    selectElement.SelectByValue("NOCAP");
}

答案 1 :(得分:0)

您可以浏览此tutorial,下面粘贴示例代码以供参考。

using System;

namespace Conditional
{
    class IfElseStatement
    {
        public static void Main(string[] args)
        {
            int number = 12;

            if (number < 5)
            {
                Console.WriteLine("{0} is less than 5", number);
            }
            else
            {
                Console.WriteLine("{0} is greater than or equal to 5", number);
            }

            Console.WriteLine("This statement is always executed.");
        }
    }
}
相关问题