欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

SeleniumIDE進(jìn)階部分-Rollup策略-創(chuàng)新互聯(lián)

  資源推薦:

10年積累的成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)制作后付款的網(wǎng)站建設(shè)流程,更有墨江免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。    視頻資源: 軟件測試相關(guān)系列視頻

   社區(qū)資源: 自動(dòng)化測試交流群

Selenium IDE Rollup策略

為什么需要使用Rollup策略呢?

使用Rollup策略可以使你的測試腳本看起來更加簡潔,測試命令集合重用性更強(qiáng),使用Rollup可以讓你的腳本看起來像下面代碼一樣:

Selenium IDE 進(jìn)階部分-Rollup策略

其中,rollup命令中l(wèi)oggincommands是一個(gè)selenese指令集合,包含了登錄部分腳本指令,通過這種方式,可以將任何在多腳本中重復(fù)的部分提取出來,以供更多的測試腳本重復(fù)使用,這樣做有三大優(yōu)勢:

§  腳本簡潔,通俗易懂。

§  公共部分selenese命令集合得到了大限度的重用性。

§  提供了單點(diǎn)訪問入口,一處修改,處處使用的效果。

下面我們看一下如何來定義一組rollup策略,定義rollup需要新建一個(gè).js為結(jié)尾的javascript文件。

var manager = new RollupManager();

manager.addRollupRule({ ... });

manager.addRollupRule({ ... });

...

RollupManager作為rollup策略實(shí)現(xiàn)的管理對象,我們可以向rollup manager中添加多組rollupRule,只需要簡單的使用RollupManager#addRollupRule(Object)方法就可以完成rollup策略的添加。

   添加完rollupRule之后,我們再來看一下如何定義rollup對象:

manager.addRollupRule({
	name: 'logincommands',
	description: 'register & login into newtours.com',
	args: [
		{
			name: 'email',
			description: 'register one user account, used it just for the identifier.',
			exampleValues: ['aa', 'bb', 'cc']
		}
		,{
			name: 'passwd',
			description: 'register one user account, used it just for the identifier.',
			exampleValues: ['122', '333', '222']
		}	
	], 
	commandMatchers: [
		{
			command: 'type'
			, target: 'id=email'
			, updateArgs: function(command, args) {
				args.email = command.value;
				return args;
			}
		}
		, {
			command: 'type'
			, target: 'name=password'
			, updateArgs: function(command, args) {
				args.passwd = command.value;
				return args;
			}
		}
		, {
			command: 'type'
			, target: 'name=confirmPassword'
			, updateArgs: function(command, args) {
				args.passwd = command.value;
				return args;
			}
		}
		, {
			command: 'clickAndWait'
			, target: 'name=register'
		}
	],
	getExpandedCommands: function(args) {
		var commands = [];
			
		commands.push({
			command: 'type'
			, target: 'id=email'
			, value: args.email
		});
		commands.push({
			command: 'type',
			target: 'name=password',
			value: args.passwd
		});

		commands.push({
			command: 'clickAndWait',
			target: 'name=register'
		});
		return commands;
	}
});

     
以上代碼片段是一個(gè)完整的Rollup策略定義,在rollup對象中包含多個(gè)屬性:name, description, args, commandMatchers, getExpandedCommands,下面對這幾個(gè)屬性一一介紹:

   Name:rollup策略的名字,需保證在rollup manager中唯一。

   Description: 對該rollup策略的描述,該描述作為幫助文檔顯示給使用者。

   Args: array類型,可以有多組args,args用于調(diào)用者傳入rollup策略的參數(shù),比如:Selenium IDE 進(jìn)階部分-Rollup策略,這里調(diào)用logincommand時(shí)傳入了兩個(gè)參數(shù),也就對應(yīng)了args數(shù)組中存在兩個(gè)args定義,在args定義中包含三個(gè)參數(shù):name(參數(shù)名), description(參數(shù)描述), exampleValues(沒有實(shí)際意義,為用戶展示參數(shù)值類型),Args中的定義的變量應(yīng)用于兩個(gè)位置,commandMatchers中的updateArgs方法,以及getExpandedCommands方法。

CommandMatchers,該參數(shù)用于使用Selenium IDE中應(yīng)用組策略功能,也就是Selenium IDE中Selenium IDE 進(jìn)階部分-Rollup策略,只有當(dāng)定義了commandMatchers時(shí),這里才可用。

commandMatchers用于匹配腳本中符合commandMachers定義的規(guī)則的selenese命令,并一鍵生成rollup命令。

                  {
                          command: 'type'
                          , target: 'id=email'
                          , updateArgs: function(command, args) {
                                   args.email = command.value;
                                   return args;
                          }
              }

   commandMatchers中可以定義多組command,每個(gè)command中可以包含command, target, updateArgs若干參數(shù)。     

        Command: 即selenese命令,也就是該command matcher所要匹配的命令。     

     Target: 即元素定位器,這里可以使用正則方式匹配多種target,如果使用正則也就是該command matcher可以匹配多個(gè)selenese命令,當(dāng)然前提是同一個(gè)類型的command。

     UpdateArgs:Function, 函數(shù)的實(shí)現(xiàn)用于動(dòng)態(tài)接收rollup調(diào)用者穿來的參數(shù)及參數(shù)值,并動(dòng)態(tài)的根據(jù)自定義規(guī)則更新args中定義的變量,注意,這里只是根據(jù)調(diào)用者傳過來的參數(shù)值動(dòng)態(tài)修改args變量值,最后將args對象作為方法返回值return.

其中當(dāng)定義rollup時(shí)args的值為空時(shí),如,args:[],此時(shí)updateArgs定義無效。

     GetExpandedCommands

      getExpandedCommands參數(shù)用于定義該rollup命令所包含的Selenese命令集合,也就是在運(yùn)行時(shí)真正需要執(zhí)行的命令

      該參數(shù)定義為一個(gè)帶有args參數(shù)的函數(shù),且該函數(shù)返回值為數(shù)組,數(shù)組包含所有需要執(zhí)行的命令集合。

               commands.push({
                          command: 'type',
                          target: 'name=password',
                          value: args.passwd
              });

      數(shù)組元素中包含三部分,即selenese指令的三部分,分別為command, target, value, 其中value可以通過用戶調(diào)用rollup命令時(shí)傳入的參數(shù)進(jìn)行動(dòng)態(tài)更新。

      總結(jié),rollup策略是一個(gè)selenium ide提供的一個(gè)非常強(qiáng)大的功能,使用rollup策略有三大好處,掌握rollup策略只需要腳本開發(fā)人員掌握javascript語言,就能輕松靈活運(yùn)用。

當(dāng)前題目:SeleniumIDE進(jìn)階部分-Rollup策略-創(chuàng)新互聯(lián)
本文鏈接:http://aaarwkj.com/article28/dgdccp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、定制開發(fā)、靜態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司
免费观看久久黄色大片| 懂色av中文一区二区| 日本中文字幕乱码一区| 中文字幕日本精品人妻在线| 国产丝袜美腿诱惑久久| 天堂av免费资源在线观看| 91亚洲蜜桃内射后入在线观看 | 亚洲一区二区三区 日韩精品| 欧美午夜精品一二三区| 亚洲天堂av在线播放| 激情小说婷婷亚洲综合| 精品福利视频一区二区| 久久香蕉国产线看观看亚洲| 国产偷自一区二区三区| 亚洲黄色av一区二区三区| 亚洲精品麻豆一区二区| 日韩欧美在线观看一区二区| 中文字幕乱码十国产乱码| 精品国产综合一区二区三区 | 欧美一区二区精品少妇| 尤物欧美精品一区二区三区 | 亚洲欧美午夜激情啪啪视频| 亚洲精品国产第一区| 亚洲国产女人精品久久久| 99热精品免费在线观看| 久久婷婷av一区二区三区| 欧美视频亚洲视频自拍视频| 亚洲国产精品欧美激情| 欧美日韩国产综合下一页| 日韩不卡在线免费观看视频| 久久综合伊人欧美精品| 日韩欧美一区二区在线播放| 国产欧美日韩国产精品| 亚洲大乳大丰满中文字幕| 中出亚洲精品日韩在线视频 | 国产精品久久123区| 亚洲国产黄片在线播放| 草草在线成年免费视频| 内地精品露脸自拍视频| 亚洲香蕉视频在线播放| 精品国产av一区二区麻豆|