方法从使用剧作家c#的元素中返回Text



使用X单位和C#我想定位一个元素,然后断言它的文本值与特定的字符串匹配

我会用硒做以下事情:

IWebElement userButton 
driver.FindElement(By.CssSelector("button.user- 
icon"));
Assert.Equal("testString", userButton.Text);

在剧作家身上,我正在做以下事情:

var userButton = page.Locator("button.user-icon");
Assert.Equal("testString", userButton.?);

我可以成功地找到元素,但是?显示了在哪里我找不到任何返回元素字符串值的方法,有类似getByText的东西,但没有类似于selenium中的dotText方法。

我还尝试了以下内容:

await 
Expect(Page.Locator("button.usericon")).ToHaveTextAsync("testString");

但我收到一个错误,告诉我Expect在当前上下文中不存在。我相信这是剧作家写的。Nunit图书馆,但正在使用Xuit

Is there a method that can be called on an element to return its text value?

Playwright建议使用它们的断言,因为它们会重试,直到达到超时或满足条件。

像Assert.Equal这样的普通断言不会重试。

请参见此处:https://playwright.dev/dotnet/docs/test-assertions#locator-断言具有文本

对于您的用例,它将是以下内容:

var locator = Page.Locator(".title");
await Expect(locator).ToHaveTextAsync("Welcome, Test User");

最新更新