Как мне подтвердить текст в кнопке поиска Google с помощью Selenium C#? - PullRequest
0 голосов
/ 21 апреля 2020

Я пытался написать авто-тест с Selenium using C# и asserts текстом в кнопке Google Search.

Однако тест не удался.

Как это сделать правильно и что здесь не так?

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");
    }

Ответы [ 2 ]

0 голосов
/ 21 апреля 2020

Используйте .GetAttribute("value") вместо .Text

0 голосов
/ 21 апреля 2020

вы можете попробовать следующий код. По умолчанию входные данные содержат текст в атрибуте value. Нормально это скрыто. Пример кода:

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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...