JavaScriptは自動化テストでseleniumが操作できない問題を解決します.

2441 ワード

  • 読み取り専用のinputに対して入力を実行する
  • .
  • 背景
  • テストページでは、多くの時間がボックスを選択し、コンボボックスをhtml内でタグを使ってユーザー情報を収集することができます.データの仕様を保証するために、選択ボックスのデータは手動でインターフェース上のデータを選択するしかないです.これらのinputタグはreadonly=「readonly」属性を追加しがちです.JavaScript言語を通じて、Removeタグの読み取り専用属性ができます.
  • コード実践
  • lページ要素:lプログラムコード:JavascriptExecutor js = driver.GetJavascriptExecutor(); js.executeScript("var setDate=document.getElementById('startTime_startTime'); setDate.removeAttribute('readonly');") ; l解釈:1、Javascript Exector js=driver.Get Javascript Exector();このJavascript Exectorオブジェクトは、プラットフォームがパッケージされたDriverManagerのオブジェクト2、setsDate=document.getElement ById('startTimetart Time')を呼び出します.元素3、set Date.removeAttribute('readonly')を位置決めするために使用されます.読み取り専用のプロパティを削除するために使用します.
  • リッチテキストエディタの操作
  • 背景
  • ユーザーがテキスト情報を編集しやすいように、多くのテストページにテキストエディタが埋め込まれています.テキスト枠に富んだ一般的な実現技術はFrameタグを使用しており、Frame内で完全なHTMLページ構造を実現しているので、通常の位置決めモードを使用してテキスト枠のオブジェクトを直接的に位置決めすることができない.JavaScript文を使ってリッチテキストボックスのHTML形式の内容入力が可能です.
  • コード実践
  • lページ要素:
    lプログラムコード:JavascriptExecutor js = driver.GetJavascriptExecutor(); js.executeScript("varsetMessage=document.getElementsByTagName('body')[0]; setMessage.innerHTML = 'hello';") ; l解釈:1、Javascript Exector js=driver.Get Javascript Exector();このJavascript Exectorのオブジェクトは、プラットフォームがカプセル化されたDriverManagerのオブジェクト2、setsMessage=document.getElements ByTagName('body')[0];元素3、setMessage.inners HTML='hello'を位置決めするために使用されます.リッチテキストボックスに情報を入力します.
  • JavaScriptコントロールオブジェクトを取得する3つの方法
  • 3.1 document.getElementsByName()コントロール名に基づいてコントロールオブジェクトを取得します.コントロール名は同じです.オブジェクトの配列を返します.注:document.getElements ByName('input')[0]で最初のコントロールを取得できます.3.2 Dcument.getElementById()コントロールIDに基づいてコントロールオブジェクトを取得します.コントロールIDが一意で、オブジェクトを返します.3.3 document.getElementsByTagName()はコントロールTAGによってこのコントロールオブジェクトを取得し、オブジェクト配列を返します.注:document.getElements ByTagName('input')[0]で最初のコントロールを取得できます.lプログラムコード:JavascriptExecutor js = driver.GetJavascriptExecutor(); js.executeScript("varsetMessage=document.getElementsByTagName('body')[0]; setMessage.innerHTML = 'hello';") ; l解釈:1、Javascript Exector js=driver.Get Javascript Exector();このJavascript Exectorのオブジェクトは、プラットフォームがカプセル化されたDriverManagerのオブジェクト2、setsMessage=document.getElements ByTagName('body')[0];元素3、setMessage.inners HTML='hello'を位置決めするために使用されます.リッチテキストボックスに情報を入力します.