Tự động hóa trình duyệt Nodejs

Hướng dẫn của bạn về cách chạy thử nghiệm bằng NodeJS trên Lưới Selenium của BrowserStack gồm hơn 3000 thiết bị thực và trình duyệt máy tính để bàn

Chạy bản dựng mẫu

Đây là cách bạn có thể chạy bản dựng thử nghiệm NodeJS mẫu trong ba bước trên BrowserStack

Tập lệnh thử nghiệm mẫu trong phần này tương thích với các liên kết máy khách dựa trên W3C. Kiểm tra các tập lệnh dựa trên giao thức dây JSON của chúng tôi trong nhánh Selenium-3 của kho lưu trữ

Thiết lập các phụ thuộc

Trước khi bạn có thể bắt đầu chạy thử nghiệm Selenium của mình với NodeJS, bạn cần cài đặt các liên kết ngôn ngữ NodeJS

Chạy lệnh sau trên thiết bị đầu cuối/dòng lệnh của bạn để cài đặt các phụ thuộc cần thiết

```bash #install Selenium Language npm install -g selenium-webdriver@4. 1. 2 ```

Sao chép đoạn trích

Định cấu hình tập lệnh thử nghiệm

Định cấu hình kết hợp trình duyệt hoặc thiết bị

Chọn trình duyệt máy tính để bàn hoặc thiết bị thực từ danh sách hơn 3000 kết hợp có sẵn. Bạn có thể thấy tổ hợp thiết bị đã chọn trong đoạn mã dưới đây dưới dạng khả năng

Chủ đề song song # 1

Sợi song song #2

Chủ đề song song # 3

Sao chép mã

Copy đoạn code sau và lưu vào máy. Trong bước tiếp theo, chúng tôi sẽ chạy tập lệnh này sẽ thực thi bản dựng đầu tiên của bạn trên BrowserStack

Trường hợp thử nghiệm mẫu sau đây sẽ mở bstackdemo. com, thêm sản phẩm vào giỏ hàng và xác minh xem sản phẩm đã được thêm vào giỏ hàng chưa

```javascript const webdriver = require('selenium-webdriver'); . Người xây dựng(). usingServer('http. //TÊN CỦA BẠN_USERNAME. YOUR_ACCESS_KEY@hub-cloud. ngăn xếp trình duyệt. com/wd/trung tâm'). withCapabilities({. khả năng,. khả năng ['browser'] && { browserName. khả năng ['browser']} // Vì liên kết ngôn ngữ NodeJS yêu cầu tên trình duyệt phải được xác định }). xây dựng(); . nhận ("https. //bstackdemo. com/"); chờ trình điều khiển. đợi (trình điều khiển web. cho đến khi. titleMatches(/StackDemo/i), 10000); . findElement(webdriver. Qua. xpath('//*[@id="1"]/p')). getText(); . findElement(webdriver. Qua. xpath('//*[@id="1"]/div[4]')). nhấp chuột(); . findElement(webdriver. Qua. className("float-cart__content")); . findElement( webdriver. Qua. xpath( '//*[@id="__next"]/div/div/div[2]/div[2]/div[2]/div/div[3]/p[1]' ) ). getText(); . == productText) ném Lỗi mới (""); . execScript( 'browserstack_executor. {"hoạt động". "setSessionStatus", "đối số". {"trạng thái". "thông qua", "lý do". "Sản phẩm đã được thêm vào giỏ hàng thành công. "}}' ); } bắt (e) { đang chờ trình điều khiển. execScript( 'browserstack_executor. {"hoạt động". "setSessionStatus", "đối số". {"trạng thái". "thất bại", "lý do". "Một số phần tử không tải được. "}}' ); } đang đợi trình điều khiển. từ bỏ(); . tùy chọn'. { "YOUR_FIRST_OS_TYPE". "YOUR_FIRST_OS", "YOUR_FIRST_OS_VERSION_TYPE". "YOUR_FIRST_OS_VERSION", "YOUR_FIRST_BROWSER_VERSION_TYPE". "YOUR_FIRST_BROWSER_VERSION", "buildName". "browserstack-build-1", "sessionName". "Kiểm tra song song 1", }, "YOUR_FIRST_BROWSER_TYPE". "YOUR_FIRST_BROWSER" } const khả năng2 = { 'bstack. tùy chọn'. { "YOUR_SECOND_OS_TYPE". "YOUR_SECOND_OS", "YOUR_SECOND_OS_VERSION_TYPE". "YOUR_SECOND_OS_VERSION", "YOUR_SECOND_BROWSER_VERSION_TYPE". "YOUR_SECOND_BROWSER_VERSION", "buildName". "browserstack-build-1", "tên phiên". "Kiểm tra song song 2", }, "YOUR_SECOND_BROWSER_TYPE". "YOUR_SECOND_BROWSER" } const khả năng3 = { 'bstack. tùy chọn'. { "YOUR_THIRD_OS_TYPE". "YOUR_THIRD_OS", "YOUR_THIRD_OS_VERSION_TYPE". "YOUR_THIRD_OS_VERSION", "YOUR_THIRD_BROWSER_VERSION_TYPE". "YOUR_THIRD_BROWSER_VERSION", "buildName". "browserstack-build-1", "sessionName". "Kiểm tra song song 3", }, "YOUR_THIRD_BROWSER_TYPE". "YOUR_THIRD_BROWSER" } runTestWithCaps(capabilities1);

Sao chép đoạn trích

Thực hiện xây dựng trên BrowserStack

Bây giờ bạn đã sẵn sàng để chạy bản dựng của mình trên BrowserStack. Từ thư mục gốc của dự án này, hãy chạy lệnh sau

```bash # Chạy từ thư mục gốc của nút dự án này first-sample-build. js ```

Sao chép đoạn trích

Đối mặt với các vấn đề?

Kiểm tra thủ phạm thường xuyên

Kiểm tra xem tệp đã được lưu chính xác chưa và bạn đã cài đặt các gói và thư viện cần thiết để chạy thử nghiệm chưa. Trong hầu hết các trường hợp, tìm kiếm trên Google là hữu ích

Nếu bạn gặp phải bất kỳ lỗi xác thực nào, bạn có thể đã không chuyển hoặc chuyển thông tin đăng nhập không chính xác. Bạn có thể tìm thấy Tên người dùng và Khóa truy cập của mình trên trang Cài đặt tài khoản. Hãy thử chạy lại bài kiểm tra và nó sẽ giải quyết vấn đề của bạn

Đằng sau một proxy?

Bạn có thể gặp phải một số sự cố kết nối nếu bạn sử dụng proxy vì mạng của bạn có thể đang chặn lưu lượng truy cập vào browserstack. com. Chỉ cần đưa lưu lượng truy cập vào danh sách trắng tới *.browserstack.com và bạn đã sẵn sàng. Nếu bạn có một thiết lập mạng phức tạp, chỉ cần liên hệ với nhóm Hỗ trợ của chúng tôi và họ sẽ làm việc với bạn để điều này hoạt động

Sau khi bạn chạy thử nghiệm đầu tiên thành công trên BrowserStack, hãy thử tích hợp bộ thử nghiệm của bạn với BrowserStack

NodeJS có thể được sử dụng trong trình duyệt không?

js là môi trường thời gian chạy JavaScript mã nguồn mở phía máy chủ. Nút sử dụng công cụ V8 của Google---libUV---để cung cấp khả năng tương thích đa nền tảng và thư viện cốt lõi. Đáng chú ý, nút. js không hiển thị đối tượng cửa sổ chung, vì nó không chạy trong trình duyệt .

Nghệ sĩ múa rối có tốt hơn Selenium không?

Do hỗ trợ nhiều hệ điều hành, nền tảng, trình duyệt và ngôn ngữ lập trình, Selenium tương đối phức tạp và tùy chỉnh hơn so với Puppeteer . Việc cài đặt và cấu hình Selenium Grid và Selenium WebDriver không hề nhỏ so với Puppeteer với npm hoặc Yarn.

Nhà viết kịch có tốt hơn WebdriverIO không?

WebdriverIO và Playwright đều là công cụ mã nguồn mở. Nhà viết kịch với 10. 9K sao GitHub và 282 nhánh trên GitHub dường như phổ biến hơn WebdriverIO với 5. 58K sao GitHub và 1. 63K nhánh GitHub.

Nút JS CÓ THỂ chạy bên ngoài trình duyệt không?

js là môi trường thời gian chạy JavaScript mã nguồn mở cho phép các nhà phát triển chạy mã JavaScript trên máy chủ. Nếu điều đó quá phức tạp để bạn hiểu thì bạn nên nghĩ về nó theo cách này. Nút. js là JavaScript chạy bên ngoài trình duyệt — trên máy chủ .