使用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");