亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
利用Selenium自動化web測試
作者:網絡轉載 發布時間:[ 2016/6/15 16:19:26 ] 推薦標簽:Selenium 功能測試 自動化測試

  對于上載/下載窗口,好是處理而不是跳過它們。為了避免 Selenium 的局限性,一種建議是使用 Java 機器人 AutoIt 來處理文件上載和下載問題。AutoIt 被設計來自動化 Window GUI 操作。它可以認識大多數 Window GUI,提供很多 API,并且很容易轉換為 .exe 文件,這樣的文件可以直接運行或者在 Java 代碼中調用。清單 14 演示了處理文件上載的腳本。這些腳本的步驟是:
  根據瀏覽器類型確定上載窗口標題。
  激活上載窗口。
  將文件路徑放入編輯框中。
  提交。
  清單 14. 處理上載的 AutoIt 腳本
  ;first make sure the number of arguments passed into the scripts is more than 1
  If $CmdLine[0]<2 Then Exit EndIf
  handleUpload($CmdLine[1],$CmdLine[2])
  ;define a function to handle upload
  Func handleupload($browser, $uploadfile)
  Dim $title                          ;declare a variable
  ;specify the upload window title according to the browser
  If $browser="IE" Then                  ; stands for IE;
  $title="Select file"
  Else                                 ; stands for Firefox
  $title="File upload"
  EndIf
  if WinWait($title,"",4) Then ;wait for window with
  title attribute for 4 seconds;
  WinActivate($title)                  ;active the window;
  ControlSetText($title,"","Edit1",$uploadfile)   ;put the
  file path into the textfield 
  ControlClick($title,"","Button2")                ;click the OK
  or Save button
  Else
  Return False
  EndIf
  EndFunc
  在 Java 代碼中,定義一個函數來執行 AutoIt 編寫的 .exe 文件,并在單擊 browse 之后調用該函數。
  清單 15. 執行 AutoIt 編寫的 .exe 文件
  public void handleUpload(String browser, String filepath) {
  String execute_file = "D:\scripts\upload.exe";
  String cmd = """ + execute_file + """ + " " + """ + browser + """
  + " " + """ + filepath + """; //with arguments
  try {
  Process p = Runtime.getRuntime().exec(cmd);
  p.waitFor(); //wait for the upload.exe to complete
  } catch (Exception e) {
  e.printStackTrace();
  }
  }
  清單 16 是處理 Internet Explorer 中下載窗口的 AutoIt 腳本。Internet Explorer 和 Firefox 中的下載腳本各不相同。
  清單 16. 處理 Internet Explorer 中下載的 AutoIt 腳本
  If $CmdLine[0]<1 Then Exit EndIf
  handleDownload($CmdLine[1])
  Func handleDownload($SaveAsFileName)
  Dim $download_title="File Download"
  If WinWait($download_title,"",4) Then
  WinActivate($download_title)
  Sleep (1000)
  ControlClick($download_title,"","Button2","")
  Dim $save_title="Save As"
  WinWaitActive($save_title,"",4)
  ControlSetText($save_title,"","Edit1", $saveAsFileName)
  Sleep(1000)
  if FileExists ($SaveAsFileName) Then
  FileDelete($SaveAsFileName)
  EndIf
  ControlClick($save_title, "","Button2","")
  Return TestFileExists($SaveAsFileName)
  Else
  Return False
  EndIf
  EndFunc
  AutoIt 腳本很容易編寫,但是依賴于瀏覽器類型和版本,因為不同的瀏覽器和版本中,窗口標題和窗口控件類是不相同的。
  如何驗證警告/確認/提示信息
  對于由 window.alert() 生成的警告對話框,使用 selenium.getAlert() 來檢索前一操作期間生成的 JavaScript 警告的消息。如果沒有警告,該函數將會失敗。得到一個警告與手動單擊 OK 的結果相同。
  對于由 window.confirmation() 生成的確認對話框,使用 selenium.getConfirmation() 來檢索前一操作期間生成的 JavaScript 確認對話框的消息。默認情況下,該函數會返回 true,與手動單擊 OK 的結果相同。這可以通過優先執行 chooseCancelOnNextConfirmation 命令來改變。
  對于由 window.prompt() 生成的提示對話框,使用 selenium.getPromt() 來檢索前一操作期間生成的 JavaScript 問題提示對話框的消息。提示的成功處理需要優先執行 answerOnNextPrompt 命令。
  JavaScript 警告在 Selenium 中不會彈出為可見的對話框。處理這些彈出對話框失敗會導致異常,指出沒有未預料到的警告。這會讓測試用例失敗。

上一頁12345下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 欧美香蕉视频在线观看 | 动漫视频成人无h码在线观看 | 人人爽人人爽人人片av免费 | 伊人热| 欧美日韩黄色大片 | 久久77| 亚洲国产第一区二区三区 | 欧美亚洲国产片在线观看 | 一级爱一级做a性视频 | 97人人爽人人爽人人人爽 | 美女视频永久黄网站免费观看国产 | 亚洲国产男人本色在线观看的a站 | 亚洲天堂网在线播放 | 激情欧美一区二区三区 | 91精品啪在线观看国产线免费 | 夜夜爽夜夜叫夜夜高潮漏水 | 成人毛片高清视频观看 | 国产精品成人一区二区三区 | 亚洲视频在线观看视频 | 午夜影皖普通区 | 99久久精品毛片免费播放 | 天天草天天爽 | www狠狠干| 妞干网最新视频 | 韩国午夜理伦三级在线观看仙踪林 | 亚洲第一精品夜夜躁人人爽 | 美女一级ba大片免色无遮住 | 韩国伦理在线免费观看 | 日韩视频免费在线 | 波多野结衣视频在线播放 | 性欧美video另类hd高清 | 亚洲码专区 | 欧美激情欧美狂野欧美精品免费 | 天天爽夜夜爽人人爽曰喷水 | 美女黄色免费在线观看 | 免费观看又黄又刺激的视频网站 | 国产黄色福利 | 成人精品一区二区不卡视频 | 精品国产品国语在线不卡丶 | 狠狠色综合网站 | 亚洲一二区视频 |