欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

界面控件的獲取方法、測(cè)試方法及獲取裝置、測(cè)試裝置與流程

文檔序號(hào):11276018閱讀:204來(lái)源:國(guó)知局
界面控件的獲取方法、測(cè)試方法及獲取裝置、測(cè)試裝置與流程

本申請(qǐng)涉及界面控件獲取技術(shù),尤其涉及界面控件的獲取方法、界面控件的測(cè)試方法及界面控件的獲取裝置、界面控件的測(cè)試裝置。



背景技術(shù):

現(xiàn)有技術(shù)中,獲取用戶界面(userinterface,ui)的控件的方法通常需要根據(jù)控件類型調(diào)用不同的控件方法來(lái)獲取控件,例如,uiselector.classname(stringclassname)方法通過(guò)傳入類名字符串獲取控件,uiselector.text(stringtext)方法通過(guò)傳入顯示文本字符串獲取控件。當(dāng)控件存在多種類型時(shí),需要調(diào)用多個(gè)接口來(lái)獲取控件,且所調(diào)用的控件方法(如classname(),text())需要固定寫在代碼中,如果控件類型或?qū)傩园l(fā)生變動(dòng),就需要修改代碼,或改用其他接口獲取控件。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本申請(qǐng)?zhí)峁┙缑婵丶墨@取方法、界面控件的測(cè)試方法及界面控件的獲取裝置、界面控件的測(cè)試裝置,以解決現(xiàn)有技術(shù)的問(wèn)題。

根據(jù)本申請(qǐng)實(shí)施例的第一方面,提供一種界面控件的獲取方法,該方法包括步驟:

通過(guò)指定控件接口獲取至少一種目標(biāo)控件的控件參數(shù);控件參數(shù)包括控件類型和特征值,所述特征值用于唯一標(biāo)識(shí)目標(biāo)控件;

通過(guò)反射機(jī)制封裝所述控件類型并獲得與所述特征值所對(duì)應(yīng)的目標(biāo)控件。

根據(jù)本申請(qǐng)實(shí)施例的第二方面,提供一種界面控件的測(cè)試方法,該方法 包括步驟:

通過(guò)指定控件接口獲取至少一種目標(biāo)控件的控件參數(shù);控件參數(shù)包括控件類型和特征值,所述特征值用于唯一標(biāo)識(shí)目標(biāo)控件;

通過(guò)反射機(jī)制封裝所述控件類型并獲得與所述特征值所對(duì)應(yīng)的目標(biāo)控件;

對(duì)所述目標(biāo)控件進(jìn)行測(cè)試。

根據(jù)本申請(qǐng)實(shí)施例的第三方面,提供一種界面控件的獲取裝置,包括:

參數(shù)獲取模塊,用于通過(guò)指定控件接口獲取至少一種目標(biāo)控件的控件參數(shù);控件參數(shù)包括控件類型和特征值,所述特征值用于唯一標(biāo)識(shí)目標(biāo)控件;

控件獲取模塊,用于通過(guò)反射機(jī)制封裝所述控件類型并獲得與所述特征值所對(duì)應(yīng)的目標(biāo)控件。

根據(jù)本申請(qǐng)實(shí)施例的第四方面,提供一種界面控件的測(cè)試裝置,包括:

控件獲取接口,用于通過(guò)指定控件接口獲取至少一種目標(biāo)控件的控件參數(shù);控件參數(shù)包括控件類型和特征值,所述特征值用于唯一標(biāo)識(shí)目標(biāo)控件;通過(guò)反射機(jī)制封裝所述控件類型并獲得與所述特征值所對(duì)應(yīng)的目標(biāo)控件;

控件驗(yàn)證接口,用于對(duì)所述目標(biāo)控件進(jìn)行測(cè)試。

本申請(qǐng)獲取控件時(shí),通過(guò)反射機(jī)制使得不同的控件類型都可以通過(guò)指定的控件接口實(shí)現(xiàn)獲取,避免了需要事先確定類型調(diào)用不同接口的靜態(tài)實(shí)現(xiàn)方式。另外,指定的控件接口可以獲取不同的控件類型,使得控件類型可以通過(guò)代碼動(dòng)態(tài)決定,從而在后續(xù)控件類型有變動(dòng)時(shí)可以通過(guò)修改控件接口的代碼而不必修改獲取每個(gè)控件部分代碼。

附圖說(shuō)明

圖1為本申請(qǐng)實(shí)施例中界面控件的獲取方法的流程圖;

圖2為本申請(qǐng)實(shí)施例中測(cè)試方法的流程圖;

圖3為本申請(qǐng)一應(yīng)用場(chǎng)景下的流程圖;

圖4為本申請(qǐng)界面控件的獲取裝置/測(cè)試裝置的硬件架構(gòu)圖;

圖5為測(cè)試方法及獲取裝置的邏輯框圖;

圖6為測(cè)試裝置的邏輯框圖。

具體實(shí)施方式

這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請(qǐng)相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書(shū)中所詳述的、本申請(qǐng)的一些方面相一致的裝置和方法的例子。

在本申請(qǐng)使用的術(shù)語(yǔ)是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請(qǐng)。在本申請(qǐng)和所附權(quán)利要求書(shū)中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語(yǔ)“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。

應(yīng)當(dāng)理解,盡管在本申請(qǐng)可能采用術(shù)語(yǔ)第一、第二、第三等來(lái)描述各種信息,但這些信息不應(yīng)限于這些術(shù)語(yǔ)。這些術(shù)語(yǔ)僅用來(lái)將同一類型的信息彼此區(qū)分開(kāi)。例如,在不脫離本申請(qǐng)范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語(yǔ)境,如在此所使用的詞語(yǔ)“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”。

本申請(qǐng)中,控件可以是一種用戶界面的界面元素,控件顯示的信息排列可以由用戶改變,例如視窗、文本框、滑動(dòng)條、下拉式菜單等。用戶界面可以是應(yīng)用程序客戶端的用戶界面,或?yàn)g覽器、操作系統(tǒng)應(yīng)用的用戶界面等。用戶界面可以通過(guò)設(shè)備的顯示裝置呈現(xiàn)給用戶,設(shè)備可以是任何可以呈現(xiàn)用戶界面的設(shè)備,例如個(gè)人電腦、平板電腦、移動(dòng)終端、智能家居設(shè)備、車載設(shè)備等等。

本申請(qǐng)?zhí)峁┑墨@取界面控件的流程可參考圖1。

s101,通過(guò)指定控件接口獲取至少一種目標(biāo)控件的控件參數(shù);控件參數(shù) 包括控件類型、特征值,特征值用于唯一標(biāo)識(shí)目標(biāo)控件;

s102,通過(guò)反射機(jī)制封裝所述控件類型,并獲得與所述特征值所對(duì)應(yīng)的目標(biāo)控件。

本申請(qǐng)創(chuàng)建了統(tǒng)一的控件接口,通過(guò)此控件接口獲取到不止一種的控件參數(shù)。

作為例子,控件參數(shù)可以統(tǒng)一預(yù)先存儲(chǔ)于一個(gè)集合中。除了獲取控件所需要的控件參數(shù),該集合中還可以包括其他參數(shù),例如用來(lái)測(cè)試控件的設(shè)置參數(shù)是否正確的相關(guān)參數(shù)(例如控件名稱、文本描述、屬性、屬性值等信息)。集合可以以二維數(shù)組的形式存儲(chǔ)各個(gè)控件參數(shù)??丶涌诳杀闅v集合中的所有數(shù)組獲取控件參數(shù)。

統(tǒng)一將控件參數(shù)保存在集合中可以避免分散處理,但不排除控件接口通過(guò)其他分散處理方式獲取控件參數(shù),例如可以從多個(gè)文件中分別讀取各個(gè)控件的控件參數(shù)。

某些場(chǎng)景下,保存控件參數(shù)的集合可以存儲(chǔ)于配置文件中,控件接口通過(guò)讀取配置文件以獲得控件參數(shù);另一些場(chǎng)景下,可以將保存控件參數(shù)的集合存儲(chǔ)在服務(wù)器,控件接口可以通過(guò)所在的設(shè)備與服務(wù)器交互獲取控件參數(shù),對(duì)于其他獲取控件參數(shù)的例子不再一一列舉。

s102階段中,本申請(qǐng)利用反射機(jī)制(method)獲取控件,反射機(jī)制可通過(guò)java實(shí)現(xiàn)。反射機(jī)制可以使設(shè)計(jì)者創(chuàng)建的代碼在運(yùn)行時(shí)裝配,無(wú)需在組件之間進(jìn)行源代表鏈接。本申請(qǐng)通過(guò)反射機(jī)制可以實(shí)現(xiàn)批量獲取多個(gè)目標(biāo)控件。

由于控件類型的多樣化,可以使用反射機(jī)制將控件類型進(jìn)行封裝以獲取不同類型的控件,作為例子,具體步驟可以是:

首先將控件類型封裝并獲得控件類型所對(duì)應(yīng)的方法名稱字符串,利用反射機(jī)制獲取與控件類型對(duì)應(yīng)的目標(biāo)控件的方法;再調(diào)用所獲得的目標(biāo)控件的方法,并傳入該控件類型對(duì)應(yīng)的特征值,獲得該特征值所對(duì)應(yīng)的目標(biāo)控件。在某些場(chǎng)合,單一的字符串可以作為特征值,在另一些場(chǎng)合,則需要多于一 個(gè)的字符串的組合來(lái)構(gòu)成特征值。為了便于在界面存在多個(gè)相同控件時(shí)區(qū)分各個(gè)控件,還可以標(biāo)識(shí)出要查找的控件在結(jié)果中的次序。

可以看出,控件獲取可以使用本申請(qǐng)?zhí)峁┑慕y(tǒng)一控件接口實(shí)現(xiàn),不同的控件類型都可以通過(guò)這個(gè)控件接口實(shí)現(xiàn)獲取,避免了需要事先確定類型調(diào)用不同接口的靜態(tài)實(shí)現(xiàn)方式。另外,通過(guò)指定的控件接口可以獲取不同的控件類型取,使得控件類型可以通過(guò)代碼動(dòng)態(tài)決定,從而在后續(xù)控件類型有變動(dòng)時(shí)可以通過(guò)修改控件接口的代碼而不必修改獲取每個(gè)控件部分代碼。

通過(guò)以上獲取控件的方式獲取控件后,可以應(yīng)用于各種場(chǎng)合,圖2是將所獲取的控件進(jìn)行ui測(cè)試的例子。

參考圖2,s101,通過(guò)指定控件接口獲取至少一種目標(biāo)控件的控件參數(shù);控件參數(shù)包括控件類型、特征值,特征值用于唯一標(biāo)識(shí)目標(biāo)控件;

s102,通過(guò)反射機(jī)制封裝所述控件類型,并獲得與所述特征值所對(duì)應(yīng)的目標(biāo)控件;

s201,對(duì)目標(biāo)控件進(jìn)行測(cè)試。

對(duì)于s101和s102獲取控件的過(guò)程不予贅述。

可以參照現(xiàn)有技術(shù),調(diào)用每個(gè)目標(biāo)控件的驗(yàn)證方法對(duì)所獲取到的目標(biāo)控件分別來(lái)進(jìn)行測(cè)試,另外,也可以參照如下方式,通過(guò)統(tǒng)一的驗(yàn)證接口統(tǒng)一對(duì)多個(gè)目標(biāo)控件進(jìn)行測(cè)試。

不同控件需要測(cè)試的條件可以不同,例如,對(duì)于一些控件,僅需要驗(yàn)證該控件在界面上是否存在;對(duì)于另一些控件,需要驗(yàn)證該控件在界面上存在且可用;還有一些控件,需要還需要驗(yàn)證控件的某些屬性以及屬性的值設(shè)置是否正確(例如,對(duì)于button控件,需要測(cè)試該控件可用屬性(enable)、是聚焦屬性(focus)以及屬性值(true、false))。因此,作為例子,s201階段的過(guò)程可以是對(duì)目標(biāo)控件進(jìn)行以下一項(xiàng)或多項(xiàng)的測(cè)試:

判斷目標(biāo)控件是否存在;

當(dāng)所述目標(biāo)控件存在時(shí),判斷所述目標(biāo)控件是否可用;

當(dāng)所述目標(biāo)控件可用時(shí),判斷所述目標(biāo)控件的待檢測(cè)的屬性及屬性值設(shè) 置是否正確。

在一個(gè)例子中,可以輸出測(cè)試結(jié)果,例如,可以根據(jù)s102的輸出結(jié)果判斷是否存在目標(biāo)控件,如果不存在,則輸出錯(cuò)誤日志;如果存在該目標(biāo)控件,則進(jìn)一步獲取該目標(biāo)控件的“enable”屬性,如果該屬性為不可用,則輸出錯(cuò)誤日志;如果該屬性為可用,則進(jìn)一步獲取該目標(biāo)控件的屬性及屬性值,然后與預(yù)設(shè)值對(duì)比,如果目標(biāo)控件的屬性及屬性值與預(yù)設(shè)值不對(duì)應(yīng),則輸出錯(cuò)誤日志。作為例子,將所獲取的目標(biāo)控件的屬性及屬性值比對(duì)的方式的方式可以是二者進(jìn)行“與”操作。

一個(gè)例子中,需要驗(yàn)證的控件參數(shù)的預(yù)設(shè)值(即在控件設(shè)置正確的狀態(tài)下的各種屬性及屬性值)可以全部保存在上文所述的集合中。在存儲(chǔ)時(shí),可以對(duì)控件的屬性及屬性值以二次冪的形式賦值,以下是集合的一個(gè)實(shí)例說(shuō)明。集合中保存有待驗(yàn)證的控件參數(shù)的預(yù)設(shè)值:控件參數(shù)“checkable”、“uncheckable”、“checked”、“unchecked”。各控件參數(shù)被賦予不同的值,例如checkable的值為0x0001、uncheckable的值為0x0002、checked的值為0x0004、unchecked的值為0x0008。

可以定義一個(gè)二維數(shù)組,遍歷二維數(shù)組來(lái)檢查各個(gè)待驗(yàn)證的目標(biāo)控件的屬性。在獲取到目標(biāo)控件的屬性及屬性值以后,根據(jù)集合中的賦值規(guī)則轉(zhuǎn)換成相應(yīng)的二進(jìn)制,然后與二維數(shù)組中的對(duì)應(yīng)數(shù)組項(xiàng)中的值做比對(duì),如果一致,則認(rèn)為該屬性設(shè)置正確,否則,輸出錯(cuò)誤日志。

以下為一個(gè)測(cè)試控件的過(guò)程的實(shí)例。在測(cè)試時(shí),首先從二維數(shù)組中依次從每個(gè)數(shù)組的控件參數(shù)中取出控件類型和特征值,作為統(tǒng)一控件接口的輸入?yún)?shù),如果獲取控件的結(jié)果非空,則檢查所獲取到的控件的“enable”屬性,如果“enable”屬性可用,則判斷二維數(shù)組中是否存在該控件屬性及屬性值的預(yù)設(shè)值,如果存在,則將該控件的屬性及屬性值與預(yù)設(shè)值做“與”操作,根據(jù)“與”結(jié)果輸出正確或錯(cuò)誤的返回值。

圖3是一個(gè)應(yīng)用客戶端界面控件測(cè)試的實(shí)例。

s301為控件測(cè)試前的配置階段,創(chuàng)建配置文件,在配置文件中存儲(chǔ)二維 數(shù)組,ui界面上所有需要測(cè)試的控件的控件參數(shù)的預(yù)設(shè)值均存儲(chǔ)在二維數(shù)組中,以代表控件正常工作時(shí)的設(shè)置參數(shù)??丶?shù)至少包括控件類型和控件的特征值;對(duì)于需要測(cè)試屬性的控件,控件參數(shù)還可以包括控件的屬性及屬性值的預(yù)設(shè)值。

s302為接口創(chuàng)建階段,創(chuàng)建控件獲取接口和控件驗(yàn)證接口。

s303為控件獲取階段??丶@取接口遍歷配置文件中每個(gè)數(shù)組,獲取每個(gè)數(shù)組中的控件類型參數(shù),封裝并通過(guò)反射機(jī)制獲得與該數(shù)組中的特征值多對(duì)應(yīng)的控件。

s304為控件測(cè)試階段??丶?yàn)證接口對(duì)控件獲取接口的輸出結(jié)果進(jìn)行測(cè)試。針對(duì)某個(gè)控件,如果沒(méi)有獲取到該控件,則輸出錯(cuò)誤日志;如果已獲取到該控件,則獲取該控件的“eable”屬性,如果“eable”屬性設(shè)置為不可用,則輸出錯(cuò)誤日志,如果可用,則查看配置文件中該數(shù)組是否有控件的屬性及屬性值的預(yù)設(shè)值,如果有,則取出預(yù)設(shè)值與該控件的屬性及屬性值做“與”操作,如果結(jié)果為1,則返回測(cè)試結(jié)果正確值,如果不為1,則輸出錯(cuò)誤日志。

與前述界面控件的獲取方法、測(cè)試方法的實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了界面控件的獲取裝置、測(cè)試裝置的實(shí)施例。

本申請(qǐng)界面控件的獲取裝置和測(cè)試裝置的實(shí)施例均可以應(yīng)用在計(jì)算機(jī)上。裝置實(shí)施例可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過(guò)其所在計(jì)算機(jī)的處理器將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖4所示,為本申請(qǐng)計(jì)算機(jī)的一種硬件結(jié)構(gòu)圖,除了圖4所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的計(jì)算機(jī)通常根據(jù)該計(jì)算機(jī)的實(shí)際功能,還可以包括其他硬件,對(duì)此不再贅述。

請(qǐng)參考圖5,界面控件的獲取裝置500包括:

參數(shù)獲取模塊501,用于通過(guò)指定控件接口獲取至少一種目標(biāo)控件的控件參數(shù);控件參數(shù)包括控件類型和特征值,所述特征值用于唯一標(biāo)識(shí)目標(biāo)控 件;

控件獲取模塊502,用于通過(guò)反射機(jī)制封裝所述控件類型并獲得與所述特征值所對(duì)應(yīng)的目標(biāo)控件。

控件參數(shù)可以預(yù)先存儲(chǔ)于同一集合中。該集合可以存儲(chǔ)于配置文件中。

控件獲取模塊502通過(guò)反射機(jī)制封裝所述控件類型并獲得與所述特征值所對(duì)應(yīng)的目標(biāo)控件可以包括:

將控件類型封裝并獲得控件類型所對(duì)應(yīng)的方法名稱字符串;

利用反射機(jī)制獲取與控件類型對(duì)應(yīng)的目標(biāo)控件的方法;

調(diào)用所獲得的目標(biāo)控件的方法,并傳入所述控件類型對(duì)應(yīng)的特征值,獲得所述特征值所對(duì)應(yīng)的目標(biāo)控件。

參見(jiàn)圖6,界面控件的測(cè)試裝置600包括:

控件獲取接口601,用于通過(guò)指定控件接口獲取至少一種目標(biāo)控件的控件參數(shù);控件參數(shù)包括控件類型和特征值,所述特征值用于唯一標(biāo)識(shí)目標(biāo)控件;通過(guò)反射機(jī)制封裝所述控件類型并獲得與所述特征值所對(duì)應(yīng)的目標(biāo)控件;

控件驗(yàn)證接口602,用于對(duì)所述目標(biāo)控件進(jìn)行測(cè)試。

控件參數(shù)可以預(yù)先存儲(chǔ)于同一集合中。該集合可以存儲(chǔ)于配置文件中。

控件獲取接口601通過(guò)反射機(jī)制封裝所述控件類型并獲得與所述特征值所對(duì)應(yīng)的目標(biāo)控件包括:

將控件類型封裝并獲得控件類型所對(duì)應(yīng)的方法名稱字符串;

利用反射機(jī)制獲取與控件類型對(duì)應(yīng)的目標(biāo)控件的方法;

調(diào)用所獲得的目標(biāo)控件的方法,并傳入所述控件類型對(duì)應(yīng)的特征值,獲得所述特征值所對(duì)應(yīng)的目標(biāo)控件。

控件驗(yàn)證接口602對(duì)所述目標(biāo)控件進(jìn)行測(cè)試可以包括以下一項(xiàng)或多項(xiàng):

判斷所述目標(biāo)控件是否存在;

當(dāng)所述目標(biāo)控件存在時(shí),判斷所述目標(biāo)控件是否可用;

當(dāng)所述目標(biāo)控件可用時(shí),判斷所述目標(biāo)控件的屬性及屬性值設(shè)置是否正確。

控件參數(shù)還可以包括目標(biāo)控件的屬性及屬性值的預(yù)設(shè)值;

控件驗(yàn)證接口602根據(jù)目標(biāo)控件的屬性及屬性值是否與所述預(yù)設(shè)值對(duì)應(yīng),判斷所述目標(biāo)控件的屬性及屬性值設(shè)置是否正確。

上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過(guò)程具體詳見(jiàn)上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過(guò)程,在此不再贅述。

對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本申請(qǐng)方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。

以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)保護(hù)的范圍之內(nèi)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
涿州市| 泸水县| 晋中市| 米林县| 梓潼县| 大悟县| 米泉市| 陆河县| 桃江县| 云安县| 临朐县| 双辽市| 瑞金市| 抚州市| 繁昌县| 鹤峰县| 新乐市| 炉霍县| 同仁县| 汝城县| 新乐市| 会昌县| 翼城县| 双鸭山市| 澄江县| 九龙坡区| 商丘市| 阿克陶县| 柞水县| 晋中市| 千阳县| 东莞市| 泾源县| 社旗县| 黄冈市| 永定县| 新昌县| 商丘市| 东丰县| 云南省| 新竹市|