Chuyển đến nội dung chính

Sử dụng Dịch vụ Đám mây

Using on-demand services like Sauce Labs, Browserstack, TestingBot, LambdaTest or Perfecto with WebdriverIO is pretty simple. All you need to do is to set your service's user and key in your options.

Optionally, you can also parametrize your test by setting cloud-specific capabilities like build. If you only want to run cloud services in Travis, you can use the CI environment variable to check if you are in Travis and modify the config accordingly.

// wdio.conf.js
export let config = {...}
if (process.env.CI) {
config.user = process.env.SAUCE_USERNAME
config.key = process.env.SAUCE_ACCESS_KEY
}

Sauce Labs

Bạn có thể thiết lập thử nghiệm của mình để chạy từ xa trong Sauce Labs.

Yêu cầu duy nhất là đặt userkey trong cấu hình của bạn (có thể được xuất bởi wdio.conf.js hoặc được truyền vào webdriverio.remote(...)) thành tên người dùng và khóa truy cập Sauce Labs của bạn.

Bạn cũng có thể truyền vào bất kỳ tùy chọn cấu hình thử nghiệm tùy chọn nào dưới dạng khóa/giá trị trong các khả năng cho bất kỳ trình duyệt nào.

Sauce Connect

Nếu bạn muốn chạy thử nghiệm đối với máy chủ không thể truy cập từ Internet (như trên localhost), thì bạn cần sử dụng Sauce Connect.

Việc hỗ trợ tính năng này nằm ngoài phạm vi của WebdriverIO, vì vậy bạn sẽ phải tự khởi động nó.

Nếu bạn đang sử dụng WDIO testrunner, hãy tải xuống và cấu hình @wdio/sauce-service trong wdio.conf.js của bạn. Nó giúp Sauce Connect chạy và đi kèm với các tính năng bổ sung tích hợp tốt hơn các bài kiểm tra của bạn vào dịch vụ Sauce.

Với Travis CI

Tuy nhiên, Travis CI có hỗ trợ để khởi động Sauce Connect trước mỗi thử nghiệm, vì vậy bạn có thể làm theo hướng dẫn của họ.

Nếu làm như vậy, bạn phải đặt tùy chọn cấu hình thử nghiệm tunnel-identifier trong capabilities của mỗi trình duyệt. Travis đặt giá trị này là biến môi trường TRAVIS_JOB_NUMBER theo mặc định.

Ngoài ra, nếu bạn muốn Sauce Labs nhóm các thử nghiệm của mình theo số lần xây dựng, bạn có thể đặt build thành TRAVIS_BUILD_NUMBER.

Cuối cùng, nếu bạn đặt name, điều này sẽ thay đổi tên của thử nghiệm này trong Sauce Labs cho bản dựng này. Nếu bạn đang sử dụng WDIO testrunner kết hợp với @wdio/sauce-service, WebdriverIO sẽ tự động đặt tên thích hợp cho thử nghiệm.

Ví dụ về capabilities:

browserName: 'chrome',
version: '27.0',
platform: 'XP',
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER,
name: 'integration',
build: process.env.TRAVIS_BUILD_NUMBER

Thời gian chờ

Vì bạn đang chạy thử nghiệm từ xa, có thể cần phải tăng một số thời gian chờ.

Bạn có thể thay đổi thời gian chờ rảnh rỗi bằng cách truyền idle-timeout như một tùy chọn cấu hình thử nghiệm. Điều này kiểm soát thời gian Sauce sẽ đợi giữa các lệnh trước khi đóng kết nối.

BrowserStack

WebdriverIO cũng có tích hợp sẵn Browserstack.

Yêu cầu duy nhất là đặt userkey trong cấu hình của bạn (có thể được xuất bởi wdio.conf.js hoặc được truyền vào webdriverio.remote(...)) thành tên người dùng tự động và khóa truy cập Browserstack của bạn.

Bạn cũng có thể truyền vào bất kỳ khả năng được hỗ trợ tùy chọn nào dưới dạng khóa/giá trị trong các khả năng cho bất kỳ trình duyệt nào. Nếu bạn đặt browserstack.debug thành true, nó sẽ ghi lại bản ghi màn hình của phiên, điều này có thể hữu ích.

Kiểm tra Cục bộ

Nếu bạn muốn chạy thử nghiệm đối với máy chủ không thể truy cập từ Internet (như trên localhost), thì bạn cần sử dụng Kiểm tra Cục bộ.

Việc hỗ trợ tính năng này nằm ngoài phạm vi của WebdriverIO, vì vậy bạn phải tự khởi động nó.

Nếu bạn sử dụng local, bạn nên đặt browserstack.local thành true trong capabilities của bạn.

Nếu bạn đang sử dụng WDIO testrunner, hãy tải xuống và cấu hình @wdio/browserstack-service trong wdio.conf.js của bạn. Nó giúp BrowserStack chạy và đi kèm với các tính năng bổ sung tích hợp tốt hơn các bài kiểm tra của bạn vào dịch vụ BrowserStack.

Với Travis CI

Nếu bạn muốn thêm Kiểm tra Cục bộ trong Travis, bạn phải tự khởi động nó.

Đoạn mã sau sẽ tải xuống và khởi động nó trong nền. Bạn nên chạy mã này trong Travis trước khi bắt đầu thử nghiệm.

wget https://www.browserstack.com/browserstack-local/BrowserStackLocal-linux-x64.zip
unzip BrowserStackLocal-linux-x64.zip
./BrowserStackLocal -v -onlyAutomate -forcelocal $BROWSERSTACK_ACCESS_KEY &
sleep 3

Ngoài ra, bạn có thể muốn đặt build thành số lần xây dựng Travis.

Ví dụ về capabilities:

browserName: 'chrome',
project: 'myApp',
version: '44.0',
build: `myApp #${process.env.TRAVIS_BUILD_NUMBER}.${process.env.TRAVIS_JOB_NUMBER}`,
'browserstack.local': 'true',
'browserstack.debug': 'true'

TestingBot

Yêu cầu duy nhất là đặt userkey trong cấu hình của bạn (có thể được xuất bởi wdio.conf.js hoặc được truyền vào webdriverio.remote(...)) thành tên người dùng và khóa bí mật TestingBot của bạn.

Bạn cũng có thể truyền vào bất kỳ khả năng được hỗ trợ tùy chọn nào dưới dạng khóa/giá trị trong các khả năng cho bất kỳ trình duyệt nào.

Kiểm tra Cục bộ

Nếu bạn muốn chạy thử nghiệm đối với máy chủ không thể truy cập từ Internet (như trên localhost), thì bạn cần sử dụng Kiểm tra Cục bộ. TestingBot cung cấp một đường hầm dựa trên Java để cho phép bạn kiểm tra các trang web không thể truy cập từ Internet.

Trang hỗ trợ đường hầm của họ chứa thông tin cần thiết để thiết lập việc này.

Nếu bạn đang sử dụng WDIO testrunner, hãy tải xuống và cấu hình @wdio/testingbot-service trong wdio.conf.js của bạn. Nó giúp TestingBot chạy và đi kèm với các tính năng bổ sung tích hợp tốt hơn các bài kiểm tra của bạn vào dịch vụ TestingBot.

LambdaTest

Tích hợp LambdaTest cũng được xây dựng sẵn.

Yêu cầu duy nhất là đặt userkey trong cấu hình của bạn (có thể được xuất bởi wdio.conf.js hoặc được truyền vào webdriverio.remote(...)) thành tên người dùng tài khoản LambdaTest và khóa truy cập của bạn.

Bạn cũng có thể truyền vào bất kỳ khả năng được hỗ trợ tùy chọn nào dưới dạng khóa/giá trị trong các khả năng cho bất kỳ trình duyệt nào. Nếu bạn đặt visual thành true, nó sẽ ghi lại bản ghi màn hình của phiên, điều này có thể hữu ích.

Đường hầm cho kiểm tra cục bộ

Nếu bạn muốn chạy thử nghiệm đối với máy chủ không thể truy cập từ Internet (như trên localhost), thì bạn cần sử dụng Kiểm tra Cục bộ.

Việc hỗ trợ tính năng này nằm ngoài phạm vi của WebdriverIO, vì vậy bạn phải tự khởi động nó.

Nếu bạn sử dụng local, bạn nên đặt tunnel thành true trong capabilities của bạn.

Nếu bạn đang sử dụng WDIO testrunner, hãy tải xuống và cấu hình wdio-lambdatest-service trong wdio.conf.js của bạn. Nó giúp LambdaTest chạy và đi kèm với các tính năng bổ sung tích hợp tốt hơn các bài kiểm tra của bạn vào dịch vụ LambdaTest.

Với Travis CI

Nếu bạn muốn thêm Kiểm tra Cục bộ trong Travis, bạn phải tự khởi động nó.

Đoạn mã sau sẽ tải xuống và khởi động nó trong nền. Bạn nên chạy mã này trong Travis trước khi bắt đầu thử nghiệm.

wget http://downloads.lambdatest.com/tunnel/linux/64bit/LT_Linux.zip
unzip LT_Linux.zip
./LT -user $LT_USERNAME -key $LT_ACCESS_KEY -cui &
sleep 3

Ngoài ra, bạn có thể muốn đặt build thành số lần xây dựng Travis.

Ví dụ về capabilities:

platform: 'Windows 10',
browserName: 'chrome',
version: '79.0',
build: `myApp #${process.env.TRAVIS_BUILD_NUMBER}.${process.env.TRAVIS_JOB_NUMBER}`,
'tunnel': 'true',
'visual': 'true'

Perfecto

Khi sử dụng wdio với Perfecto, bạn cần tạo một mã token bảo mật cho mỗi người dùng và thêm nó vào cấu trúc capabilities (ngoài các khả năng khác), như sau:

export const config = {
capabilities: [{
// ...
securityToken: "your security token"
}],

Ngoài ra, bạn cần thêm cấu hình đám mây, như sau:

  hostname: "your_cloud_name.perfectomobile.com",
path: "/nexperience/perfectomobile/wd/hub",
port: 443,
protocol: "https",

Welcome! How can I help?

WebdriverIO AI Copilot