robotframework使用筆記--持續更新


1.在RF中ELSE 和ELSE IF必須要大寫,小寫識別不了
2.在用autoitlibrary的過程中,必須需要等窗口先出現,才能進行后續的操作,否則將無法執行選擇文件的操作,等待窗口出現的情況,可用如下方法:
等待窗口出現的時間,也可以用sleep,如下:
以上三種方法均可執行成功,需要注意的是,用sleep時,必須要等待的時間足夠長才可,推薦用前面兩種方法。
PS:這些方法並不是必須的,有時候即使不用這些方法,也可以成功執行上傳文件的操作,但最好使用其中一種方法,以防出現,在檢測到窗口之前就去執行上傳語音文件的操作。
3.當ride窗口沒有日志輸出時,執行taskkill /f /im chromedriver.exe
4.如果定位xpath時,遇到了瓶頸,不妨搜索一下 xpath軸的用法,會發現新世界的大門
  附個例子://a[text()='shangxian2']/following::td[@data-title="'操作'"]/a[@ng-click="editApp(app)"]
5.運行以前跑通的用例,發現無法正常執行,提示找不到disconnected: unable to connect to renderer,這是因為電腦的谷歌瀏覽器版本和瀏覽器驅動版本對不上導致的,解決這個問題,只需要確定谷歌瀏覽器的版本(報錯的時候有提示當前版本和需要的驅動版本),然后更新對應的瀏覽器驅動即可
瀏覽器和驅動版本對應圖:
驅動下載地址(所有chromedriver均可在下面鏈接中下載到):
6.一個新坑!!!
在用AutoItLibrary庫上傳文件的時候,如果使用control send關鍵字,總是不能找到正確的路徑!例如!!!在頁面中需要上傳圖片時:
必須要上一次上傳的路徑和腳本里面的路徑保持一致!才能上傳成功,如果上一次上傳的路徑和腳本的路徑不一樣,使用control send 會導致路徑填寫的不正確,
如下圖(以下只是其中一種情況,還有可能是別的,總之就是不能正確找到圖片!):
經查詢得知,是因為ControlSend是在光標所在位置后添加(若控件當前未獲取焦點則默認是在當前文本后附加),所以如果點擊瀏覽按鈕彈出的路徑選擇框,已經有上次上傳的目錄了,則會直接在當前目錄的路徑后添加目錄,而且還受輸入法的影響(send就跟手動輸入類似,跟輸入法有關聯,如果你開着中文輸入法,\ 就會變為 、)
將ControlSend改成ControlSetText可以完美解決這個問題!!!如下:
ControlSetText與ControlSend的區別在於:ControlSetText 會清除原有內容,而ControlSend是在光標所在位置后添加
 
2018/4/2日編輯:
使用AutoitLibrary庫上傳文件時,使用上述方法,經常會導致上傳的路徑和傳入的不符(不完整,只取到一部分),原因未知,猜測可能是窗口還沒激活就開始寫目錄,但沒激活寫不進去,等激活了目錄沒寫完,於是截取剩下未寫完的一部分。。。使用下述方法基本上不會出現:

 


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com