Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Нужно запомнить текст на странице с помощью Specflow

xpath
csharp
specflow
selenium
Теги: #<Tag:0x00007f7b63555e70> #<Tag:0x00007f7b63555d30> #<Tag:0x00007f7b63555bf0> #<Tag:0x00007f7b63555ab0>

(Ли неизвестная) #1

Всем добрый день! только начала сама изучать C# и столкнулась с проблемой. нужно запомнить название телефона на странице. Вот код страницы

Смартфон Samsung Galaxy S8:

Описала элемент так:

    [FindsBy(How =How.XPath, Using = "//*[contains(@class,'layout layout_type_search i-bem')]//*[contains(@title,'Смартфон')]")]
    public IWebElement SmartphoneClick { get; set; }

Затем в сценариях описала так:

[When(@"Запомнить первый элемент в списке\.")]
    public void WhenЗапомнитьПервыйЭлементВСписке_()
    {
        MobilePage SelectDecision = new MobilePage();
        string SmartphoneClickname = SelectDecision.SmartphoneClick.GetAttribute("title");
        SelectDecision.SmartphoneClick.GetAttribute("SmartphoneClickname");

    }


    [When(@"В поисковую строку ввести запомненное значение\.")]
    public void WhenВПоисковуюСтрокуВвестиЗапомненноеЗначение_(string SmartphoneClickname)
    {
        MobilePage mainPage = new MobilePage();
        mainPage.EnteringSmartphone(SmartphoneClickname);
    }

Ошибка, которую выдает VS: Parameter count mismatch! The binding method
Подскажите, что делать. Потому что очень много приходится изучать самостоятельно.


(Алеся) #2

Запоминайте в ScenarioContex.Current.Set(SelectDecision.SmartphoneClick.GetAttribute(“SmartphoneClickname”), “smartphone click name”) или ScenarioContex.Feature - если нужно запомнить в рамках фичи, а не сценария
далее получайте нужное значение ScenarioContext.Current.Get<тип_данных> в вашем случае предположу ScenarioContext.Current.Get**<**stringScenarioContext.Current.Get(“smartphone click name”)


(Ли неизвестная) #3

Ответ был прост. для найденого значения создать параметр и обозначить как
var abc= SmartphoneClick.GetAttribute(“title”);