簡體   English   中英

testcafe - 如何斷言html正文中包含的文本

[英]testcafe - how to assert text contains in html body

我使用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'); }); 

我運行此代碼后,Testcafe就會掛起。 我也嘗試了Selector('body'),但它不起作用。

您需要指定要獲取的元素屬性(狀態)(驗證)。

選擇整個'html'元素(Selector('html'))后,指定要訪問的屬性(state)(屬性,childNodes,樣式,大小等)。 請參閱DOM節點狀態主題以了解更多信息。

您似乎想要訪問文本內容,如下所示:

.expect(Selector('html').textContent).contains('learning_items');

但是,這樣的選擇器使用不太可能是掛起的原因,因為TestCafe將正確顯示有關無效選擇器使用的消息。 您可能希望簡化測試和/或調試它以查找導致掛起的原因。

const cellcomparedata =await Selector('[role="gridcell"]').textContent;
console.log("cellcomparedata is",cellcomparedata);

或者你可以使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM