繁体   English   中英

如何使用 Selenium C# 在 Google 搜索按钮中声明文本?

[英]How do I assert the text in Google Search button with Selenium C#?

我尝试使用Selenium using C#编写自动测试,并在Google Search按钮中asserts文本。

然而测试失败了。

如何正确地做到这一点,这里有什么问题?

enter code here
[Test]
    public  void TestIfButtonNameIsGoogleSearch()
    {
        Driver.Navigate().GoToUrl("https://www.google.com/?gws_rd=ssl");

        var btnSearch = Driver.FindElements(By.Name("btnK"));
        if(btnSearch.Count==2)
        {
            Assert.That(true);
        }

        string expName = btnSearch.LastOrDefault().Text;
        Assert.AreEqual(expName, "Google Search");
    }

你可以试试下面的代码。 默认情况下,输入将文本保存在“值”属性中。 通常它是隐藏的。 代码示例:

var btnSearch = Driver.FindElements(By.Name("btnK"));
var btnFeelingLucky = Driver.FindElements(By.Name("btnI"));

var searchBtnText = btnSearch.GetAttribute("value");
var feelingLuckyBtnText = btnFeelingLucky.GetAttribute("value");

Assert.AreEqual(searchBtnText , "Google Search");
Assert.AreEqual(feelingLuckyBtnText , "I'm Feeling Lucky");

如果“值”不返回任何内容或为空,您可以尝试:

string btnText = javaScriptExecutor.ExecuteScript("return arguments[0].value", searchBtnText) as string;

使用.GetAttribute("value")而不是.Text

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM