Seleniumコードの整理と実行 IDEとテストランナーライブラリを使用したSelenium実行のスケーリング
一握り以上の 1 回限りのスクリプトを実行する場合は、コードを整理して操作できる必要があります。このページでは、Seleniumコードを使用して実際に生産的なことを行う方法についてのアイデアを提供します。
一般的な用途 ほとんどの人はSeleniumを使用してWebアプリケーションの自動テストを実行します。 しかし、Seleniumはブラウザ自動化のあらゆるユースケースをサポートします。
反復タスク おそらく、Webサイトにログインして何かをダウンロードするか、フォームを送信する必要があります。 Selenium スクリプトを作成して、あらかじめ設定された時間にサービスと共に実行できます。
Webスクレイピング APIがないサイトからデータを収集したいとお考えですか?セレン これを行うことができますが、Webサイトに精通していることを確認してください。 一部のWebサイトでは許可されておらず、他のWebサイトではSeleniumがブロックされることさえあります。
テスティング テストのためにSeleniumを実行するには、Seleniumが実行したアクションに対してアサーションを行う必要があります。 したがって、優れたアサーションライブラリが必要です。テストの構造を提供する追加機能 使用する必要があります Test Runner .
IDEs Seleniumコードの使用方法に関係なく、優れた統合開発環境がなければ、Seleniumコードの作成や実行はあまり効果的ではありません。一般的なオプションを次に示します…
Test Runner テストにSeleniumを使用していない場合でも、高度なユースケースがある場合は、テストランナーを使用してコードをより適切に整理するのが理にかなっている場合があります。before/after フックを使用して、グループまたは並行して物事を実行できると非常に便利です。
卜 さまざまなテストランナーが利用可能です。
このドキュメントのすべてのコード例は、 テストランナーを使用し、すべてのコードが正しく更新されていることを確認するためにリリースごとに実行されるディレクトリの例。 リンク付きのテストランナーのリストを次に示します。最初の項目は、このリポジトリで使用される項目と このページのすべての例で使用されます。
Java Python CSharp Ruby JavaScript Kotlin JUnit - JavaベースのSeleniumテストで広く使用されているテストフレームワーク。TestNG - 並列テスト実行やパラメーター化されたテストなどの追加機能を提供します。pytest - そのシンプルさと強力なプラグインのおかげで、多くの人に好まれる選択肢です。unittest - Python の標準ライブラリテストフレームワーク。NUnit - .NET の一般的な単体テスト フレームワーク。MS Test - Microsoft 独自の単体テスト フレームワーク。RSpec - RubyでSeleniumテストを実行するために最も広く使用されているテストライブラリ。Minitest - Ruby標準ライブラリに付属する軽量なテストフレームワークです。Jest - 主にReactのテストフレームワークとして知られていますが、Seleniumのテストにも使用できます。Mocha - Seleniumテストを実行するための最も一般的なJSライブラリ。Kotest - Kotlin専用に設計された、柔軟で包括的なテストフレームワークです。JUnit5 - 標準的なJavaテストフレームワークであり、Kotlinと完全に互換性があります。装着 これは、で必要とされたものと非常によく似ています Seleniumライブラリのインストール 。このコードは、私たちのドキュメント例プロジェクトで使用されているものの例を示しているだけです。
Java Python CSharp Ruby JavaScript Kotlin プロジェクトで使用するには、requirements.txt ファイルに追加します:
プロジェクトの ‘csproj’ ファイルで、依存関係を ‘ItemGroup’ の ‘PackageReference’ として指定します:
プロジェクトの ‘package.json’ で、要件を ‘dependencies’ に追加します。:
主張 Java Python CSharp Ruby JavaScript Kotlin String title = driver . getTitle (); assertEquals ( "Web form" , title );
examples/java/src/test/java/dev/selenium/getting_started/UsingSeleniumTest.java Copy Close
package dev.selenium.getting_started ; import static org.junit.jupiter.api.Assertions.assertEquals ; import java.time.Duration ; import org.junit.jupiter.api.AfterEach ; import org.junit.jupiter.api.BeforeEach ; import org.junit.jupiter.api.Test ; import org.openqa.selenium.By ; import org.openqa.selenium.WebDriver ; import org.openqa.selenium.WebElement ; import org.openqa.selenium.chrome.ChromeDriver ; public class UsingSeleniumTest { WebDriver driver ; @BeforeEach public void setup () { driver = new ChromeDriver (); } @Test public void eightComponents () { driver . manage (). timeouts (). implicitlyWait ( Duration . ofMillis ( 500 )); driver . get ( "https://www.selenium.dev/selenium/web/web-form.html" ); String title = driver . getTitle (); assertEquals ( "Web form" , title ); WebElement textBox = driver . findElement ( By . name ( "my-text" )); WebElement submitButton = driver . findElement ( By . cssSelector ( "button" )); textBox . sendKeys ( "Selenium" ); submitButton . click (); WebElement message = driver . findElement ( By . id ( "message" )); String value = message . getText (); assertEquals ( "Received!" , value ); } @AfterEach public void teardown () { driver . quit (); } }
title = driver . title assert title == "Web form"
examples/python/tests/getting_started/using_selenium_tests.py Copy Close
from selenium import webdriver from selenium.webdriver.common.by import By def test_eight_components (): driver = setup () title = driver . title assert title == "Web form" driver . implicitly_wait ( 0.5 ) text_box = driver . find_element ( by = By . NAME , value = "my-text" ) submit_button = driver . find_element ( by = By . CSS_SELECTOR , value = "button" ) text_box . send_keys ( "Selenium" ) submit_button . click () message = driver . find_element ( by = By . ID , value = "message" ) value = message . text assert value == "Received!" teardown ( driver ) def setup (): driver = webdriver . Chrome () driver . get ( "https://www.selenium.dev/selenium/web/web-form.html" ) return driver def teardown ( driver ): driver . quit ()
var title = driver . Title ; Assert . AreEqual ( "Web form" , title );
examples/dotnet/SeleniumDocs/GettingStarted/UsingSeleniumTest.cs Copy Close
using System ; using Microsoft.VisualStudio.TestTools.UnitTesting ; using OpenQA.Selenium ; using OpenQA.Selenium.Chrome ; namespace SeleniumDocs.GettingStarted { [TestClass] public class UsingSeleniumTest { [TestMethod] public void EightComponents () { IWebDriver driver = new ChromeDriver (); driver . Navigate (). GoToUrl ( "https://www.selenium.dev/selenium/web/web-form.html" ); var title = driver . Title ; Assert . AreEqual ( "Web form" , title ); driver . Manage (). Timeouts (). ImplicitWait = TimeSpan . FromMilliseconds ( 500 ); var textBox = driver . FindElement ( By . Name ( "my-text" )); var submitButton = driver . FindElement ( By . TagName ( "button" )); textBox . SendKeys ( "Selenium" ); submitButton . Click (); var message = driver . FindElement ( By . Id ( "message" )); var value = message . Text ; Assert . AreEqual ( "Received!" , value ); driver . Quit (); } } }
title = @driver . title expect ( title ) . to eq ( 'Web form' )
examples/ruby/spec/getting_started/using_selenium_spec.rb Copy Close
# frozen_string_literal: true require 'spec_helper' require 'selenium-webdriver' RSpec . describe 'Using Selenium' do before do @driver = Selenium :: WebDriver . for :chrome end it 'uses eight components' do @driver . get ( 'https://www.selenium.dev/selenium/web/web-form.html' ) title = @driver . title expect ( title ) . to eq ( 'Web form' ) @driver . manage . timeouts . implicit_wait = 500 text_box = @driver . find_element ( name : 'my-text' ) submit_button = @driver . find_element ( tag_name : 'button' ) text_box . send_keys ( 'Selenium' ) submit_button . click message = @driver . find_element ( id : 'message' ) value = message . text expect ( value ) . to eq ( 'Received!' ) end end
let title = await driver . getTitle (); assert . equal ( "Web form" , title );
examples/javascript/test/getting_started/runningTests.spec.js Copy Close
const { By , Builder } = require ( 'selenium-webdriver' ); const assert = require ( "assert" ); describe ( 'First script' , function () { let driver ; before ( async function () { driver = await new Builder (). forBrowser ( 'chrome' ). build (); }); it ( 'First Selenium script with mocha' , async function () { await driver . get ( 'https://www.selenium.dev/selenium/web/web-form.html' ); let title = await driver . getTitle (); assert . equal ( "Web form" , title ); await driver . manage (). setTimeouts ({ implicit : 500 }); let textBox = await driver . findElement ( By . name ( 'my-text' )); let submitButton = await driver . findElement ( By . css ( 'button' )); await textBox . sendKeys ( 'Selenium' ); await submitButton . click (); let message = await driver . findElement ( By . id ( 'message' )); let value = await message . getText (); assert . equal ( "Received!" , value ); }); after ( async () => await driver . quit ()); });
val title = driver . title assertEquals ( "Web form" , title )
examples/kotlin/src/test/kotlin/dev/selenium/getting_started/FirstScriptTest.kt Copy Close
package dev.selenium.getting_started import org.junit.jupiter.api.* import org.junit.jupiter.api.Assertions.assertEquals import org.openqa.selenium.By import org.openqa.selenium.WebDriver import org.openqa.selenium.chrome.ChromeDriver import java.time.Duration @TestInstance ( TestInstance . Lifecycle . PER_CLASS ) class FirstScriptTest { private lateinit var driver : WebDriver @Test fun eightComponents () { driver = ChromeDriver () driver . get ( "https://www.selenium.dev/selenium/web/web-form.html" ) val title = driver . title assertEquals ( "Web form" , title ) driver . manage (). timeouts (). implicitlyWait ( Duration . ofMillis ( 500 )) var textBox = driver . findElement ( By . name ( "my-text" )) val submitButton = driver . findElement ( By . cssSelector ( "button" )) textBox . sendKeys ( "Selenium" ) submitButton . click () val message = driver . findElement ( By . id ( "message" )) val value = message . getText () assertEquals ( "Received!" , value ) driver . quit () } }
セットアップとティアダウン Java Python CSharp Ruby JavaScript Kotlin 並べる @BeforeEach public void setup () { driver = new ChromeDriver (); }
examples/java/src/test/java/dev/selenium/getting_started/UsingSeleniumTest.java Copy Close
package dev.selenium.getting_started ; import static org.junit.jupiter.api.Assertions.assertEquals ; import java.time.Duration ; import org.junit.jupiter.api.AfterEach ; import org.junit.jupiter.api.BeforeEach ; import org.junit.jupiter.api.Test ; import org.openqa.selenium.By ; import org.openqa.selenium.WebDriver ; import org.openqa.selenium.WebElement ; import org.openqa.selenium.chrome.ChromeDriver ; public class UsingSeleniumTest { WebDriver driver ; @BeforeEach public void setup () { driver = new ChromeDriver (); } @Test public void eightComponents () { driver . manage (). timeouts (). implicitlyWait ( Duration . ofMillis ( 500 )); driver . get ( "https://www.selenium.dev/selenium/web/web-form.html" ); String title = driver . getTitle (); assertEquals ( "Web form" , title ); WebElement textBox = driver . findElement ( By . name ( "my-text" )); WebElement submitButton = driver . findElement ( By . cssSelector ( "button" )); textBox . sendKeys ( "Selenium" ); submitButton . click (); WebElement message = driver . findElement ( By . id ( "message" )); String value = message . getText (); assertEquals ( "Received!" , value ); } @AfterEach public void teardown () { driver . quit (); } }
取り壊す @AfterEach public void teardown () { driver . quit (); }
examples/java/src/test/java/dev/selenium/getting_started/UsingSeleniumTest.java Copy Close
package dev.selenium.getting_started ; import static org.junit.jupiter.api.Assertions.assertEquals ; import java.time.Duration ; import org.junit.jupiter.api.AfterEach ; import org.junit.jupiter.api.BeforeEach ; import org.junit.jupiter.api.Test ; import org.openqa.selenium.By ; import org.openqa.selenium.WebDriver ; import org.openqa.selenium.WebElement ; import org.openqa.selenium.chrome.ChromeDriver ; public class UsingSeleniumTest { WebDriver driver ; @BeforeEach public void setup () { driver = new ChromeDriver (); } @Test public void eightComponents () { driver . manage (). timeouts (). implicitlyWait ( Duration . ofMillis ( 500 )); driver . get ( "https://www.selenium.dev/selenium/web/web-form.html" ); String title = driver . getTitle (); assertEquals ( "Web form" , title ); WebElement textBox = driver . findElement ( By . name ( "my-text" )); WebElement submitButton = driver . findElement ( By . cssSelector ( "button" )); textBox . sendKeys ( "Selenium" ); submitButton . click (); WebElement message = driver . findElement ( By . id ( "message" )); String value = message . getText (); assertEquals ( "Received!" , value ); } @AfterEach public void teardown () { driver . quit (); } }
並べる def setup (): driver = webdriver . Chrome () driver . get ( "https://www.selenium.dev/selenium/web/web-form.html" ) return driver
examples/python/tests/getting_started/using_selenium_tests.py Copy Close
from selenium import webdriver from selenium.webdriver.common.by import By def test_eight_components (): driver = setup () title = driver . title assert title == "Web form" driver . implicitly_wait ( 0.5 ) text_box = driver . find_element ( by = By . NAME , value = "my-text" ) submit_button = driver . find_element ( by = By . CSS_SELECTOR , value = "button" ) text_box . send_keys ( "Selenium" ) submit_button . click () message = driver . find_element ( by = By . ID , value = "message" ) value = message . text assert value == "Received!" teardown ( driver ) def setup (): driver = webdriver . Chrome () driver . get ( "https://www.selenium.dev/selenium/web/web-form.html" ) return driver def teardown ( driver ): driver . quit ()
取り壊す def teardown ( driver ): driver . quit ()
examples/python/tests/getting_started/using_selenium_tests.py Copy Close
from selenium import webdriver from selenium.webdriver.common.by import By def test_eight_components (): driver = setup () title = driver . title assert title == "Web form" driver . implicitly_wait ( 0.5 ) text_box = driver . find_element ( by = By . NAME , value = "my-text" ) submit_button = driver . find_element ( by = By . CSS_SELECTOR , value = "button" ) text_box . send_keys ( "Selenium" ) submit_button . click () message = driver . find_element ( by = By . ID , value = "message" ) value = message . text assert value == "Received!" teardown ( driver ) def setup (): driver = webdriver . Chrome () driver . get ( "https://www.selenium.dev/selenium/web/web-form.html" ) return driver def teardown ( driver ): driver . quit ()
並べる before do @driver = Selenium :: WebDriver . for :chrome end
examples/ruby/spec/getting_started/using_selenium_spec.rb Copy Close
# frozen_string_literal: true require 'spec_helper' require 'selenium-webdriver' RSpec . describe 'Using Selenium' do before do @driver = Selenium :: WebDriver . for :chrome end it 'uses eight components' do @driver . get ( 'https://www.selenium.dev/selenium/web/web-form.html' ) title = @driver . title expect ( title ) . to eq ( 'Web form' ) @driver . manage . timeouts . implicit_wait = 500 text_box = @driver . find_element ( name : 'my-text' ) submit_button = @driver . find_element ( tag_name : 'button' ) text_box . send_keys ( 'Selenium' ) submit_button . click message = @driver . find_element ( id : 'message' ) value = message . text expect ( value ) . to eq ( 'Received!' ) end end
取り壊す config . after { @driver &. quit }
examples/ruby/spec/spec_helper.rb Copy Close
# frozen_string_literal: true require 'selenium-webdriver' require 'selenium/webdriver/support/guards' RSpec . configure do | config | # Enable flags like --only-failures and --next-failure config . example_status_persistence_file_path = '.rspec_status' # Disable RSpec exposing methods globally on `Module` and `main` config . disable_monkey_patching! Dir . mktmpdir ( 'tmp' ) config . example_status_persistence_file_path = 'tmp/examples.txt' config . expect_with :rspec do | c | c . syntax = :expect end config . before do | example | bug_tracker = 'https://github.com/SeleniumHQ/seleniumhq.github.io/issues' guards = Selenium :: WebDriver :: Support :: Guards . new ( example , bug_tracker : bug_tracker ) guards . add_condition ( :platform , Selenium :: WebDriver :: Platform . os ) guards . add_condition ( :ci , Selenium :: WebDriver :: Platform . ci ) results = guards . disposition send ( * results ) if results end config . after { @driver &. quit } def start_session options = Selenium :: WebDriver :: Chrome :: Options . new options . add_argument ( 'disable-search-engine-choice-screen' ) options . add_argument ( '--no-sandbox' ) @driver = Selenium :: WebDriver . for ( :chrome , options : options ) end def start_bidi_session options = Selenium :: WebDriver :: Chrome :: Options . new ( web_socket_url : true ) @driver = Selenium :: WebDriver . for :chrome , options : options end def start_firefox options = Selenium :: WebDriver :: Options . firefox ( timeouts : { implicit : 1500 }) @driver = Selenium :: WebDriver . for :firefox , options : options end end
### 並べる
before ( async function () { driver = await new Builder (). forBrowser ( 'chrome' ). build (); });
examples/javascript/test/getting_started/runningTests.spec.js Copy Close
const { By , Builder } = require ( 'selenium-webdriver' ); const assert = require ( "assert" ); describe ( 'First script' , function () { let driver ; before ( async function () { driver = await new Builder (). forBrowser ( 'chrome' ). build (); }); it ( 'First Selenium script with mocha' , async function () { await driver . get ( 'https://www.selenium.dev/selenium/web/web-form.html' ); let title = await driver . getTitle (); assert . equal ( "Web form" , title ); await driver . manage (). setTimeouts ({ implicit : 500 }); let textBox = await driver . findElement ( By . name ( 'my-text' )); let submitButton = await driver . findElement ( By . css ( 'button' )); await textBox . sendKeys ( 'Selenium' ); await submitButton . click (); let message = await driver . findElement ( By . id ( 'message' )); let value = await message . getText (); assert . equal ( "Received!" , value ); }); after ( async () => await driver . quit ()); });
### 取り壊す
after ( async () => await driver . quit ());
examples/javascript/test/getting_started/runningTests.spec.js Copy Close
const { By , Builder } = require ( 'selenium-webdriver' ); const assert = require ( "assert" ); describe ( 'First script' , function () { let driver ; before ( async function () { driver = await new Builder (). forBrowser ( 'chrome' ). build (); }); it ( 'First Selenium script with mocha' , async function () { await driver . get ( 'https://www.selenium.dev/selenium/web/web-form.html' ); let title = await driver . getTitle (); assert . equal ( "Web form" , title ); await driver . manage (). setTimeouts ({ implicit : 500 }); let textBox = await driver . findElement ( By . name ( 'my-text' )); let submitButton = await driver . findElement ( By . css ( 'button' )); await textBox . sendKeys ( 'Selenium' ); await submitButton . click (); let message = await driver . findElement ( By . id ( 'message' )); let value = await message . getText (); assert . equal ( "Received!" , value ); }); after ( async () => await driver . quit ()); });
実行 Java Python CSharp Ruby JavaScript Kotlin examples/python/README.md Copy Close
# Running tests from Selenium Python examples #### 1. Clone this repository ``` git clone https://github.com/SeleniumHQ/seleniumhq.github.io.git ``` #### 2. Navigate to `python` directory ``` cd seleniumhq.github.io/examples/python ``` #### 3. Create a virtual environment - On Windows: ``` py -m venv venv venv\Scripts\activate ``` - On Linux/Mac: ``` python3 -m venv venv source venv/bin/activate ``` #### 4. Install dependencies: ``` pip install -r requirements.txt ``` > for help, see: https://packaging.python.org/en/latest/tutorials/installing-packages #### 5. Run tests - Run all tests with the default Python interpreter: ``` pytest ``` - Run all tests with every installed/supported Python interpreter: ``` tox ``` > Please have some patience - If you are doing it for the first time, it will take a little while to download the browser drivers - Run a specific example: ``` pytest path/to/test_script.py ``` > Make sure to replace `path/to/test_script.py` with the path and name of the example you want to run
examples/ruby/README.md Copy Close
# Running all tests from Selenium ruby example Follow these steps to run all test example from selenium ruby 1. Clone this repository ``` git clone https://github.com/SeleniumHQ/seleniumhq.github.io.git ``` 2. Navigate to `ruby` directory ``` cd seleniumhq.github.io/examples/ruby ``` 3. Install dependencies using bundler ``` bundler install ``` 4. Run all tests ``` bundle exec rspec ``` > Please keep some patience - If you are doing it for the first time, it will take a little while to verify and download the browser drivers # Execute a ruby script Use this command to run a ruby script and follow the first script example ``` ruby example_script.rb ```
Mocha mocha runningTests.spec.js
npx npx mocha runningTests.spec.js
例 最初のスクリプト のトピックでは、Seleniumスクリプトの各コンポーネントを見ました。こちらが、テストランナーを使用したそのコードの例です。
Java Python CSharp Ruby JavaScript Kotlin package dev.selenium.getting_started ; import static org.junit.jupiter.api.Assertions.assertEquals ; import java.time.Duration ; import org.junit.jupiter.api.AfterEach ; import org.junit.jupiter.api.BeforeEach ; import org.junit.jupiter.api.Test ; import org.openqa.selenium.By ; import org.openqa.selenium.WebDriver ; import org.openqa.selenium.WebElement ; import org.openqa.selenium.chrome.ChromeDriver ; public class UsingSeleniumTest { WebDriver driver ; @BeforeEach public void setup () { driver = new ChromeDriver (); } @Test public void eightComponents () { driver . manage (). timeouts (). implicitlyWait ( Duration . ofMillis ( 500 )); driver . get ( "https://www.selenium.dev/selenium/web/web-form.html" ); String title = driver . getTitle (); assertEquals ( "Web form" , title ); WebElement textBox = driver . findElement ( By . name ( "my-text" )); WebElement submitButton = driver . findElement ( By . cssSelector ( "button" )); textBox . sendKeys ( "Selenium" ); submitButton . click (); WebElement message = driver . findElement ( By . id ( "message" )); String value = message . getText (); assertEquals ( "Received!" , value ); } @AfterEach public void teardown () { driver . quit (); } }
from selenium import webdriver from selenium.webdriver.common.by import By def test_eight_components (): driver = setup () title = driver . title assert title == "Web form" driver . implicitly_wait ( 0.5 ) text_box = driver . find_element ( by = By . NAME , value = "my-text" ) submit_button = driver . find_element ( by = By . CSS_SELECTOR , value = "button" ) text_box . send_keys ( "Selenium" ) submit_button . click () message = driver . find_element ( by = By . ID , value = "message" ) value = message . text assert value == "Received!" teardown ( driver ) def setup (): driver = webdriver . Chrome () driver . get ( "https://www.selenium.dev/selenium/web/web-form.html" ) return driver def teardown ( driver ): driver . quit ()
using System ; using Microsoft.VisualStudio.TestTools.UnitTesting ; using OpenQA.Selenium ; using OpenQA.Selenium.Chrome ; namespace SeleniumDocs.GettingStarted { [TestClass] public class UsingSeleniumTest { [TestMethod] public void EightComponents () { IWebDriver driver = new ChromeDriver (); driver . Navigate (). GoToUrl ( "https://www.selenium.dev/selenium/web/web-form.html" ); var title = driver . Title ; Assert . AreEqual ( "Web form" , title ); driver . Manage (). Timeouts (). ImplicitWait = TimeSpan . FromMilliseconds ( 500 ); var textBox = driver . FindElement ( By . Name ( "my-text" )); var submitButton = driver . FindElement ( By . TagName ( "button" )); textBox . SendKeys ( "Selenium" ); submitButton . Click (); var message = driver . FindElement ( By . Id ( "message" )); var value = message . Text ; Assert . AreEqual ( "Received!" , value ); driver . Quit (); } } }
# frozen_string_literal: true require 'spec_helper' require 'selenium-webdriver' RSpec . describe 'Using Selenium' do before do @driver = Selenium :: WebDriver . for :chrome end it 'uses eight components' do @driver . get ( 'https://www.selenium.dev/selenium/web/web-form.html' ) title = @driver . title expect ( title ) . to eq ( 'Web form' ) @driver . manage . timeouts . implicit_wait = 500 text_box = @driver . find_element ( name : 'my-text' ) submit_button = @driver . find_element ( tag_name : 'button' ) text_box . send_keys ( 'Selenium' ) submit_button . click message = @driver . find_element ( id : 'message' ) value = message . text expect ( value ) . to eq ( 'Received!' ) end end
const { By , Builder } = require ( 'selenium-webdriver' ); const assert = require ( "assert" ); describe ( 'First script' , function () { let driver ; before ( async function () { driver = await new Builder (). forBrowser ( 'chrome' ). build (); }); it ( 'First Selenium script with mocha' , async function () { await driver . get ( 'https://www.selenium.dev/selenium/web/web-form.html' ); let title = await driver . getTitle (); assert . equal ( "Web form" , title ); await driver . manage (). setTimeouts ({ implicit : 500 }); let textBox = await driver . findElement ( By . name ( 'my-text' )); let submitButton = await driver . findElement ( By . css ( 'button' )); await textBox . sendKeys ( 'Selenium' ); await submitButton . click (); let message = await driver . findElement ( By . id ( 'message' )); let value = await message . getText (); assert . equal ( "Received!" , value ); }); after ( async () => await driver . quit ()); });
次のステップ 学んだことを活かして、Seleniumコードを構築します!
必要な機能が他にも見つかったら、残りの機能をお読みください WebDriver ドキュメント .