翻譯|使用教程|編輯:莫成敏|2019-11-07 10:26:03.447|閱讀 229 次
概述:我們正在加緊為我們的2019 Vol 3版本中的Syncfusion Xamarin.Forms控件提供完整的自動化支持。在此文章中,我們將看到自動化Syncfusion Xamarin.Forms控件非常容易。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Essential Studio for Xamarin是全面的Xamarin.iOS、Xamarin.Android和Xamarin.Forms組件套包,包含最快的圖表和網(wǎng)格。
點擊下載Essential Studio for Xamarin正式版
介紹
創(chuàng)建Xamarin.Forms應(yīng)用程序時,重要的是要提供一個可訪問的應(yīng)用程序,該應(yīng)用程序應(yīng)滿足世界各地許多人的所有要求和所有經(jīng)驗。因此,在開發(fā)Xamarin.Forms應(yīng)用程序時考慮此可訪問性清單至關(guān)重要。Syncfusion了解各種人員和開發(fā)人員的可訪問性需求,并且我們致力于提供無縫可訪問的控件。作為其一部分,我們正在加緊為我們的2019 Vol 3版本中的Syncfusion Xamarin.Forms控件提供完整的自動化支持。
在此文章中,我們將看到自動化Syncfusion Xamarin.Forms控件非常容易。
Xamarin.Forms中的AutomationId是什么?
AutomationId 是Element 類的屬性,該屬性獲取或設(shè)置一個字符串值,允許自動化框架使用該值查找元素并與之交互。
如何將AutomationId設(shè)置為控件
由于AutomationId是元素的屬性,因此Button之類的控件可以繼承該屬性。您可以將任何字符串分配給Button控件的AutomationId。下面的代碼演示如何將AutomationId設(shè)置為Button控件。
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;"><Button AutomationId =“完成按鈕”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 文字=“完成” /></font></font><font></font>
通過此代碼,自動化框架將使用值“完成按鈕”來查找按鈕并與之交互。同樣,我們的其他Syncfusion Xamarin.Forms控件(例如Cards、ListView、Busy Indicator和Rating)具有直接的AutomationId屬性,可以與自動化框架進行交互。但是一些復(fù)雜的控件,例如DataGrid和Autocomplete,其中包含一些內(nèi)部元素,這些元素?zé)o法公開訪問自動化框架。為了解決該問題,在2019年第3卷發(fā)行版中,我們?yōu)榭梢耘c自動化框架進行交互的內(nèi)部元素提供了唯一的AutomationId。讓我們看看如何為Syncfusion Xamarin.Forms控件設(shè)置AutomationId。
如何為Syncfusion控件設(shè)置AutomationId
Syncfusion Xamarin.Forms控件及其元素將服從自動化框架并與之交互。我們?yōu)榭丶乃锌稍L問和可交互元素提供唯一的AutomationId。例如,在ComboBox中,自動化框架可以找到元素并與之交互,例如下拉按鈕、清除按鈕、輸入字段、下拉項和令牌清除按鈕。因此,我們提供了唯一的AutomationId,并且自動化框架可以輕松地與此AutomationId進行交互。以下屏幕截圖說明了Xamarin.Forms ComboBox控件定義的AutomationId。
用戶將期望所有可交互元素具有唯一的AutomationId。為了保持唯一性,我們根據(jù)用戶指定的控件的AutomationId保留AutomationId的內(nèi)部元素。每當(dāng)控件的AutomationId更改時,內(nèi)部元素都會根據(jù)控件的AutomationId更新其AutomationId。
例如,如果我們將ComboBox的AutomationId設(shè)置為“SfComboBox.AutomationId =” Employee ComboBox”,則自動化框架將與下拉按鈕交互為“Employee ComboBox DropDown Button”。
它如何在自動化框架中工作?
讓我們看看Xamarin.UITest 自動化框架如何與Xamarin.Forms ComboBox交互。在這里,我有一個模塊來使用兩個Xamarin.Forms ComboBoxes包含人員列表的團隊來選擇兩個團隊。現(xiàn)在,我通過使用ComboBox的唯一AutomationId及其內(nèi)部元素來選擇兩個團隊來使模塊自動化。以下代碼段對此進行了演示。
具有兩個組合框的模塊用于選擇兩個團隊。
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;"><StackLayout></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <標(biāo)簽文本= “A隊”/></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <combobox:SfComboBox AutomationId =“ TeamA”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> DisplayMemberPath =“名稱”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ImageMemberPath =“圖像”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> MultiSelectMode =“令牌”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> DataSource =“ {Binding EmployeeCollection}” /></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <Label Text =“團隊B”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> Margin =“ 0,25,0,0” /></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <combobox:SfComboBox AutomationId =“ TeamB”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> DisplayMemberPath =“名稱”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> ImageMemberPath =“圖像”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> MultiSelectMode =“令牌”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> DataSource =“ {Binding EmployeeCollection}” /></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <Button Margin =“ 0,100,0,0”</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> 文字=“ START” /></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> </ StackLayout></font></font>
使用Xamarin.UITest命令與Xamarin.Forms ComboBox進行交互。
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">App.Tap(“ TeamA下拉按鈕”); </font><font style="vertical-align: inherit;">Thread.Sleep(200);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> App.Tap(“ John”); </font><font style="vertical-align: inherit;">Thread.Sleep(200);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> App.Tap(“ TeamA下拉按鈕”);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> App.Tap(“ Jerome”); </font><font style="vertical-align: inherit;">Thread.Sleep(200);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> App.Tap(“ TeamA下拉按鈕”); </font><font style="vertical-align: inherit;">Thread.Sleep(200);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> App.Tap(“維多利亞”); </font><font style="vertical-align: inherit;">Thread.Sleep(200);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> App.ScrollTo(“ TeamA John”); </font><font style="vertical-align: inherit;">Thread.Sleep(200);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> App.Tap(“ TeamA John Token關(guān)閉按鈕”); </font><font style="vertical-align: inherit;">Thread.Sleep(200);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> App.Tap(“ TeamB下拉按鈕”);</font></font><font></font> <font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> App.Tap(“ Jessica”); </font><font style="vertical-align: inherit;">Thread.Sleep(200);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> App.Tap(“ TeamB下拉按鈕”); </font><font style="vertical-align: inherit;">Thread.Sleep(200);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> App.Tap(“ John”); </font><font style="vertical-align: inherit;">Thread.Sleep(200);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> App.Tap(“ TeamB下拉按鈕”); </font><font style="vertical-align: inherit;">Thread.Sleep(200);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> App.Tap(“ Justin”); </font><font style="vertical-align: inherit;">Thread.Sleep(200);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> App.ScrollTo(“ TeamB Jessica”); </font><font style="vertical-align: inherit;">Thread.Sleep(200);</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> App.Tap(“ TeamB Jessica令牌關(guān)閉按鈕”);</font></font><font></font>
結(jié)論
在此文章中,我們介紹了支持AutomationId的Syncfusion Xamarin.Forms控件的新版本。我們?nèi)栽趯ふ腋纳谱詣踊С忠宰詣踊覀兊腢I控件的可能性。我們邀請您下載免費評估版,以查看所有Xamarin.Forms控件的使用情況。
想要購買該產(chǎn)品正版授權(quán),或了解更多產(chǎn)品信息請點擊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: