Seleniumを使用してクロスブラウザテストを実行する方法を知っている



Seleniumを使用したクロスブラウザテストに関するこの記事では、さまざまなブラウザとOSプラットフォームでWebサイトのクロスブラウザ互換性チェックを実行する方法について説明します。

自動化テストの需要が高まるにつれ、 は、Webサイトのクロスブラウザテストに完全に適合するそのようなツールの1つです。さまざまなブラウザやオペレーティングシステムでWebサイトの互換性とパフォーマンスを確認する必要があります。したがって、Seleniumを使用したクロスブラウザテストに関するこの記事は、これらの概念を深く理解するのに役立ちます。

この記事で取り上げるトピックは次のとおりです。





クロスブラウザテストとは何ですか?

クロスブラウザーテストは、IE、Chrome、Firefoxなどの複数のブラウザーでアプリケーションをテストすることに他なりません。これにより、アプリケーションを効果的にテストできます。ブラウザ間の互換性とは、さまざまなブラウザやオペレーティングシステム間で機能するWebサイトまたはWebアプリケーションの機能です。

セレンを使用したクロスブロワーテスト-edureka 例えば –手動で実行するテストケースが20個あるとします。 このタスクは1日か2日で完了できます。ただし、同じテストケースを5つのブラウザーで実行する必要がある場合は、完了するまでに1週間かかる可能性があります。ただし、これらの20のテストケースを自動化して実行すると、テストケースの複雑さに応じて、1〜2時間以上かかることはありません。そこで、クロスブラウザテストが登場します。



それでは、さらに進んで、Seleniumでクロスブラウザテストが必要な理由を見てみましょう。

なぜクロスブラウザテストが必要なのですか?

すべてのウェブサイトは、HTML5、CSS3、および3つの主要なテクノロジーで構成されています。 。ただし、バックエンドには次のようなn個のテクノロジーがあります。 、 ルビー 、などが使用できます。ただし、フロントエンドとレンダリングでは、これら3つのテクノロジーのみが使用されます。



また、各ブラウザは完全に異なるレンダリングエンジンを使用して、これら3つのテクノロジを計算します。たとえば、ChromeはBlinkを使用し、FirefoxはGeckoを使用し、IEはエッジHTMLとChakraを使用します。そのため、同じWebサイトは、これらすべての異なるブラウザーによってまったく異なる方法でレンダリングされます。そしてそれこそが、クロスブラウザテストが必要な理由です。つまり、ウェブサイトは、すべての異なるブラウザバージョンと異なるオペレーティングシステムで完全に正常に機能するはずです。したがって、正常に機能することを確認するには、クロスブラウザテストが必要です。

それに加えて、クロスブラウザテストの必要性を表すいくつかの理由をリストしました。

Javaでパワーを行う方法
  • 異なるOSとのブラウザの互換性。
  • 画像の向き。
  • ブラウザごとにJavascriptの向きが異なるため、問題が発生する場合があります。
  • フォントサイズが一致しないか、正しくレンダリングされません。
  • 新しいWebフレームワークとの互換性。

それでは、さらに進んで、クロスブラウザテストを実行する方法を理解しましょう。

クロスブラウザテストを実行する方法は?

クロスブラウザテストは、基本的に同じテストケースのセットを異なるブラウザで複数回実行しています。このタイプの繰り返しタスクは、 。したがって、ツールを使用してこのテストを実行する方が、コストと時間の効率が高くなります。それでは、セレンWebドライバーを使用してどのように実行されるかを見てみましょう。

Javaで加算を行う方法

ステップ1 :Selenium WebDriverを使用している場合は、Internet Explorer、FireFox、Chrome、Safariブラウザーを使用してテストケースを自動化できます。

ステップ2: 同じマシンで異なるブラウザで同時にテストケースを実行するために、統合することができます SeleniumWebDriverを使用したTestNGフレームワーク。

ステップ3: 最後に、テストケースを記述して、コードを実行できます。

それでは、3つの異なるブラウザでEdurekaWebサイトのクロスブラウザテストを実行する方法を見てみましょう。

SeleniumWebDriverを使用したデモ

パッケージco.edureka.pagesimport java.util.concurrent.TimeUnit import org.openqa.selenium.By import org.openqa.selenium.WebDriver import org.openqa.selenium.WebElement import org.openqa.selenium.chrome.ChromeDriver import org .openqa.selenium.edge.EdgeDriver import org.openqa.selenium.firefox.FirefoxDriver import org.testng.annotations.BeforeTest import org.testng.annotations.Parameters import org.testng.annotations.Test public class CrossBrowserScript {WebDriver driver / * * *この関数は、testng.xmlの各テストタグの前に実行されます* @param browser * @throws Exception * / @BeforeTest @Parameters( 'browser')public void setup(String browser)throws Exception {//パラメータがから渡されたかどうかを確認しますTestNGは 'firefox' if(browser.equalsIgnoreCase( 'firefox')){// firefoxインスタンスを作成しますSystem.setProperty( 'webdriver.gecko.driver'、 'C​​:geckodriver-v0.23.0-win64geckodriver.exe')driver = new FirefoxDriver()} //パラメータが 'chrome'として渡されたかどうかを確認しますelseif(browser.equalsIgnoreCase( 'chrome')){// se chromedriver.exeへのパスSystem.setProperty( 'webdriver.chrome.driver'、 'C​​:Selenium-java-edurekaNew folderchromedriver.exe')driver = new ChromeDriver()} else if(browser.equalsIgnoreCase( 'Edge')) {// Edge.exeへのパスを設定System.setProperty( 'webdriver.edge.driver'、 'C​​:Selenium-java-edurekaMicrosoftWebDriver.exe')span style = 'font-family:verdana、geneva、sans-serif font-サイズ:14px '&ampgt // create Edge instance&amplt / span&ampgt driver = new EdgeDriver()} else {//ブラウザが渡されなかった場合throwexception throw new Exception(' Browser is notcorrect ')} driver.manage()。timeouts() .implicitlyWait(10、TimeUnit.SECONDS)} @Test public void testParameterWithXML()throws InterruptedException {driver.get( 'https://www.edureka.co/')WebElement Login = driver.findElement(By.linkText( 'Log In '))//ログインボタンを押すLogin.click()Thread.sleep(4000)WebElement userName = driver.findElement(By.id(' si_popup_email '))//ユーザー名を入力userName.sendKeys(' your email id ' )Thread.sleep(4000)//パスワードを検索 'WebElement password = driver.findElement(By.id( 'si_popup_passwd'))//パスワードを入力password.sendKeys( 'your password')Thread.sleep(6000)WebElement Next = driver.findElement(By.xpath( '// button [ @ class = 'clik_btn_log btn-block'] '))//検索ボタンを押すNext.click()Thread.sleep(4000)WebElement search = driver.findElement(By.cssSelector('#search-inp '))//検索ボックスに入力search.sendKeys( 'Selenium')Thread.sleep(4000)//検索ボタンを押すWebElement searchbtn = driver.findElement(By.xpath( '// span [@ class =' typeahead__button ']'))searchbtn。 click()}}

上記のコードでは、私はアクションを実行しています Edureka Webサイトにログインして、Seleniumコースを検索するようなWebサイト。ただし、Google Chrome、Mozilla Firefox、MicrosoftEdgeの3つの異なるブラウザーでのブラウザー間の互換性を確認したいと思います。そのため、コードで3つのブラウザーすべてのシステムプロパティを設定しました。その後、ロケーターを使用して、Webサイトでアクションを実行しています。これが私のクラスファイルに関するものです。プログラムを実行するには、上記のクラスファイルの依存関係を含むTestNGXMLファイルが必要です。以下のコードは、TestNGファイルを示しています。

 

上記のXMLファイルでは、Webサイトでテストケースを実行するためにブラウザーをインスタンス化するのに役立つように、ドライブにさまざまなクラスを指定しています。それがその仕組みです。

これで、クロスブラウザテストに関するこの記事は終わりです。 。あなたが概念を理解し、それがあなたの知識に付加価値を与えたことを願っています。

Seleniumを学び、テストドメインでキャリアを築きたい場合は、インタラクティブなライブオンラインをご覧ください。 ここでは、24時間365日のサポートが付属しており、学習期間全体をガイドします。

質問がありますか? Seleniumを使用したクロスブラウザテストの記事のコメントセクションにその旨を記載してください。折り返しご連絡いたします。