SeeTraffic & Grabbing network traffic not working

Đang mở
#4,524 4 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
javascript
Lĩnh vực
testing

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện sự cố với cấu hình WebDriver được cung cấp và các lệnh gọi seeTraffic và grabRecordedNetworkTraffics. Kiểm tra startRecordingTraffic và RequestPostDataObject trong helper/network/utils.js, bao gồm cả cách sử dụng được báo cáo tại dòng 101. Hoàn tất khi lưu lượng đã ghi chứa các trường response được điền đầy đủ và seeTraffic đánh giá đúng requestPostData thay vì luôn truyền nó một cách vô điều kiện.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

What are you trying to achieve?

I am trying to use seeTraffic and grabRecordedNetworkTraffics functions. grab* function is returning array with empty values or each field. seeTraffic is always passing because it is not able to assert on 'requestPostData'

What do you get instead?

for grabRecordedNetworkTraffics I am getting empty values like below:

for seeTraffic, it is always passing.

As per my analysis,

  1. For grabRecordedNetworkTraffics, startRecordingTraffic() always returning data with _response = null. Which is causing grabRecordedNetworkTraffics to return empty values.

  2. For seeTraffic API call, I found that variable 'RequestPostDataObject' inside helper/network/utils.js is stringified but it is being used as object at line number 101 in the file.

Provide console output if related. Use --verbose mode for more details.

I grab recorded network traffics 
Network traffic [
  { url: '', response: { status: '', statusText: '', body: '' } },
  { url: '', response: { status: '', statusText: '', body: '' } }
]
    I stop recording traffic 
  ✔ OK in 15331ms
I.amOnPage(`http://localhost:3000`);
  
    I.startRecordingTraffic();
    I.click('[data-testid="capture-button"]');
    I.wait(3);
    I.seeTraffic({
        name: 'random', // not sure what to put here
        url: 'http://localhost:3000/mock-data',
        // parameters: { key: 'value' },
        requestPostData: {
            operations: [
                {
                   //some data
                },
            ],
       }     
    });
    const networkTraffic2 = await I.grabRecordedNetworkTraffics();
    console.log('Network traffic', networkTraffic2);
Details

I am trying to assert some network API payload so that I can ensure, on submitting a form it is sending the correct data.

  • CodeceptJS version: 3.6.3-beta.2
  • NodeJS Version: 20.16.0 /16.14.2
  • Operating System: Mac
  • puppeteer || webdriverio || testcafe version (if related) webdriverio
  • Configuration file:
 helpers: {
        WebDriver: {
            url: getBaseUrl(),
            browser: 'chrome',
            windowSize: '1366x768',
            desiredCapabilities: {
                chromeOptions: {
                    args: [
                        ...webDriverAdditionalArgs,
                        '--no-sandbox',
                        '--unexpectedAlertBehavior=accept',
                        '--unhandledPromptBehavior=accept',
                    ],
                },
Ngôn ngữ chính
JavaScript
Star
4.2k
Fork
756
Merge trung bình
2 ngày 9 giờ
Pull request đã merge (30 ngày)
16

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của codeceptjs/CodeceptJS

Tất cả issue của codeceptjs/CodeceptJS

Issue tương tự

Thêm issue về JavaScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.