Since Codecept 3.6.9, our test that looks for a date time doesn't find it (but it's there)
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 38/100
- issue の種類
- バグ
- 明瞭さ
- 説明が足りない
- 活発さ
- 静か
- 技術スタック
- javascript, node.js, playwright
- 領域
- testing-qa
調査の方向性
失敗が報告される lib/helper/Playwright.js:2854 と、呼び出し元のテストである codecept/user-logs.spec.js:39 から始めてください。CodeceptJS 3.6.7 と 3.6.9 で Playwright 1.49.1 を使用してリグレッションを再現し、次に waitForText の動作を調査し、原因を切り分けられる場合はリグレッションテストを追加してください。関連しないテキストチェックを弱めずに、表示されるタイムスタンプが見つかれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Hi, we're seeing this issue and we've tried pinning to older versions - 3.6.7 is OK.
What are you trying to achieve?
We have a test that's been passing up until now and does so with 3.6.7.
I can't use 3.6.8 because of Error: Cannot find module 'invisi-data' (I noticed a hotfix around this in the commits).
It started failing today (it could have failed sooner, we only noticed it today).
What do you get instead?
The following (I've noticed the UI here says 3.6.2, but when I do an npm list I am on 3.6.7, 3.6.8, or 3.6.9 depending on the test I am doing - we want to be on the latest and tried downgrading twice and as part of that verified 3.6.7 is ok).
This looks to me like it finds our text and then says it hasn't...
Provide console output if related. Use
--verbosemode for more details.
1) User Logs
It renders a User Log table:
Text "2024-09-05 04:14:32.000" was not found on page after 1 sec.
at Playwright.waitForText (node_modules/codeceptjs/lib/helper/Playwright.js:2854:26)
at async Test.<anonymous> (codecept/user-logs.spec.js:39:3)
2) User Logs
It renders a new User Log table:
Text "2024-09-06 10:14:50.000" was not found on page after 1 sec.
at Playwright.waitForText (node_modules/codeceptjs/lib/helper/Playwright.js:2854:26)
at runNextTicks (node:internal/process/task_queues:60:5)
at process.processTimers (node:internal/timers:509:9)
Provide test source code if related
Sorry - I don't have a minimal reproduce yet - we basically have a simple logging page and we're looking for an event time on it in a row
Scenario('It renders a User Log table', async ({ I }) => {
I.amOnPage('http://localhost:5057/iframe.html?args=&id=demo-logs-page--renders-correctly&viewMode=story')
I.waitForText('Logs', 10)
await sleep(10000)
// Check there is a table
I.seeElement('.IntegrationDataTable')
I.seeNumberOfVisibleElements('.UserLogsPage__Table tbody tr[data-parent-row="true"]', 14)
I.see('14 of 10000')
// Check column headings
I.see('Event time (UTC)')
I.see('Message')
I.see('Transaction ID')
I.see('Flow ID')
I.see('Log level')
// Check first row
let firstRow = locate('.UserLogsPage__Table tbody tr[data-parent-row="true"]').first()
console.log('first', firstRow)
await within(firstRow, () => {
I.waitForText('2024-09-05 04:14:32.000') <---------- see here
})
Details
- CodeceptJS version: 3.6.9
- NodeJS Version: we've tried with Node.js 22.9.0 and 18.20.4
- Operating System: I'm on Mac OSX
- puppeteer || webdriverio || testcafe version (if related)
We are using Playwright 1.49.1
- Configuration file:
exports.config = {
tests: './codecept/*.spec.js',
output: './codecept/screenshots',
retry: 2,
helpers: {
Playwright: {
url: 'http://localhost:9010',
show: false,
browser: 'chromium',
pressKeyDelay: 2,
waitForAction: 5000
}
},
bootstrap: null,
mocha: {},
name: 'ui-logging',
plugins: {
pauseOnFail: {},
retryFailedStep: {
enabled: true
},
tryTo: {
enabled: true
},
screenshotOnFail: {
enabled: true
},
customLocator: {
enabled: true,
attribute: 'data-testid'
}
}
}
- 主要言語
- JavaScript
- スター
- 4.2k
- フォーク
- 756
- 平均マージ
- 2日 9時間
- マージ済み PR(30日)
- 16
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
codeceptjs/CodeceptJS のほかの issue
-
stale
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
codeceptjs/CodeceptJS#5420 · コメント 1 件 ·
-
stale
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
codeceptjs/CodeceptJS#5358 · コメント 1 件 ·
-
stale
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
codeceptjs/CodeceptJS#4958 · コメント 10 件 · リアクション 2 件 ·
-
stale
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
codeceptjs/CodeceptJS#4778 · コメント 3 件 ·
-
stale
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
codeceptjs/CodeceptJS#5618 · コメント 1 件 ·