Gau*_*rav 3 javascript automated-tests assert e2e-testing testcafe
我正在使用 testcafe 进行 api 测试,但是我们的 api 需要登录。下面是我的代码。我可以很好地看到 json 响应。但我不确定如何在页面上断言。
import { Selector } from 'testcafe';
import Page from './page';
// Page model
const page = new Page();
const url = 'https://myexample.com';
const elementWithIdOrClassName = Selector(value => {
return document.getElementById(value) || document.getElementsByTagName(value);
});
fixture `Test`
.page(url + '/talent/career')
.beforeEach( async t => {
await t
.typeText(page.username, 'gvp50')
.typeText(page.password, 'password')
.click(page.login_button)
});
// Tests
test('Text typing basics', async t => {
await t
.navigateTo(url+'/api/learner/learning_items')
.expect(Selector('html')).contains('learning_items');
});Run Code Online (Sandbox Code Playgroud)
运行此代码后,Testcafe 挂起。我也试过 Selector('body') 但它不起作用。
您需要指定要获取(验证)的元素属性(状态)。
在您选择了整个 'html' 元素(Selector('html'))后,指定您想要访问的属性(状态)(属性、子节点、样式、大小等)。请参阅DOM 节点状态主题以了解更多信息。
看起来您想按如下方式访问文本内容:
.expect(Selector('html').textContent).contains('learning_items');
Run Code Online (Sandbox Code Playgroud)
但是,这种选择器使用不太可能是挂起的原因,因为 TestCafe 会正确显示有关无效选择器使用的消息。您可能希望简化测试和/或调试它以找出导致挂起的原因。