簡體   English   中英

編碼的UI測試,交換選項卡和無法找到控件

[英]Coded UI testing, swapping tabs and unable to find controls

我有一個ac#編碼的UI腳本,它將打開一個頁面,在一個字段中輸入一個值,單擊一個圖像,單擊一個鏈接以在新選項卡中打開另一個頁面,輸入一些數據,切換回第一個選項卡,輸入更多數據但是第二次找不到該按鈕。

var browser = BrowserWindow.Launch("...url...");
var edit = new HtmlEdit(browser);
edit.SearchProperties.Add(HtmlEdit.PropertyNames.Id, "name");
edit.Text = "Bob";
var img = new HtmlImage(browser);
img.SearchProperties.Add(HtmlImage.PropertyNames.Id, "requestImg");
Mouse.Click(img);
var link = new HtmlHyperlink(browser);
link.SearchProperties.Add(HtmlHyperlink.PropertyNames.InnerText, "newTab");
Mouse.Click(link);
var place= new HtmlEdit(browser);
place.SearchProperties.Add(HtmlEdit.PropertyNames.Id, "place");
place.Text = "Here";
Keyboard.SendKeys("^{Tab}");
edit = new HtmlEdit(browser);
edit.SearchProperties.Add(HtmlEdit.PropertyNames.Id, "name");
edit.Text = "Sue";
img = new HtmlImage(browser);
img.SearchProperties.Add(HtmlImage.PropertyNames.Id, "requestImg");
Mouse.Click(img);
Playback.Wait(12000);
... do more stuff

一切正常,除了最后一次單擊圖像的嘗試。 上次嘗試單擊圖像時沒有錯誤消息/異常,隨后的代碼運行,但是由於click事件未起作用而失敗。 為什么更改文本框的代碼在跳回后可以工作,而在單擊圖像選項卡后卻不能工作? 我嘗試添加browser.Find(),browser.Refresh(),img.Find()-沒有改善情況

一個解決方案,盡管我正在尋找更好的解決方案...

使用img.Drawhighlight(); 會繪制一個大小合適的藍框,但位置不正確-屏幕上方的藍色框太高,屏幕左側的框太遠。 我的筆記本電腦具有3200x1800原生屏幕,因此我以250%的速度運行瀏覽器。

在創建第二個選項卡之前,已編碼的UI測試在正確的位置單擊。 創建第二個選項卡后,編碼的UI測試具有錯誤的分辨率,並且無法單擊圖像。 解決方法是將瀏覽器作為3200x1800(100%)運行。 Mouse.Click(img); 可以,但是我看不懂屏幕。 將顯示分辨率設置為1920x1080和100%可使文本更清晰,但是編碼的UI測試找不到該按鈕。 這樣就可以了,但是如果我能告訴測試/瀏覽器記住屏幕分辨率,那就更好了,所以我將對此進行研究。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM