91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Selenium IDE 進階部分-Rollup策略

發布時間:2020-07-12 06:05:26 來源:網絡 閱讀:1157 作者:13161670059 欄目:軟件技術

    資源推薦:

    視頻資源: 軟件測試相關系列視頻

     社區資源: 自動化測試交流群


Selenium IDE Rollup策略

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

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

Selenium IDE 進階部分-Rollup策略

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

§  腳本簡潔,通俗易懂。

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

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

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

var manager = new RollupManager();

manager.addRollupRule({ ... });

manager.addRollupRule({ ... });

...

RollupManager作為rollup策略實現的管理對象,我們可以向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;
	}
});

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

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

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

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

CommandMatchers,該參數用于使用Selenium IDE中應用組策略功能,也就是Selenium IDESelenium IDE 進階部分-Rollup策略,只有當定義了commandMatchers時,這里才可用。

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

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

    commandMatchers中可以定義多組command,每個command中可以包含command, target, updateArgs若干參數。        

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

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

       UpdateArgsFunction, 函數的實現用于動態接收rollup調用者穿來的參數及參數值,并動態的根據自定義規則更新args中定義的變量,注意,這里只是根據調用者傳過來的參數值動態修改args變量值,最后將args對象作為方法返回值return.

其中當定義rollupargs的值為空時,如,args:[],此時updateArgs定義無效。

       GetExpandedCommands

       getExpandedCommands參數用于定義該rollup命令所包含的Selenese命令集合,也就是在運行時真正需要執行的命令

       該參數定義為一個帶有args參數的函數,且該函數返回值為數組,數組包含所有需要執行的命令集合。

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


       數組元素中包含三部分,即selenese指令的三部分,分別為command, target, value, 其中value可以通過用戶調用rollup命令時傳入的參數進行動態更新。

       總結,rollup策略是一個selenium ide提供的一個非常強大的功能,使用rollup策略有三大好處,掌握rollup策略只需要腳本開發人員掌握javascript語言,就能輕松靈活運用。




向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴安盟| 新竹市| 开化县| 宝兴县| 清水河县| 麟游县| 绍兴县| 西吉县| 土默特左旗| 静安区| 鲁甸县| 平乐县| 阳朔县| 潍坊市| 芜湖市| 金乡县| 屯昌县| 和政县| 巴南区| 新昌县| 营山县| 同江市| 华池县| 安庆市| 龙里县| 大港区| 马尔康县| 泽州县| 阳东县| 如东县| 金阳县| 印江| 宁阳县| 绥阳县| 岳阳市| 井研县| 阳春市| 应城市| 庆云县| 伊川县| 绩溪县|