yar脚本
Ⅰ 涓轰粈涔 phper 搴斿綋瀛︿範 Golang
闅忕潃 PHP 链夌潃瓒婃潵瓒婃繁鍏ョ殑浜呜В锛屼互鍙婇亣鍒拌秺𨱒ヨ秺澶氱殑涓嶅悓涓氩姟镞讹纴浣跨敤 PHP 镐讳细璁╂垜链変竴绉嶈帿钖岖殑镞犲姏镒熴傚綋铹讹纴骞朵笉鏄鎴戜竴涓浜哄湪浣跨敤 PHP 镄勬椂鍊欓亣鍒颁简闂棰樸备簨瀹炰笂锛屾疮涓鐣ュ井链変竴浜涚粡楠岋纴鎺ヨЕ杩囦竴浜涢渶姹傜殑浜洪兘浼氭湁钖屾牱镄勫汹𨱍戙傚悇绉嶉厤钖 LAMP锛堟垨钥匧NMP锛燂级鏋舵瀯镄勫悗绔鎶链涔熷洜姝よ鍙戞槑鎴栬鍙戠幇锛岃繘钥屾暣钖埚埌 PHP 镄勫紑鍙戠殑鎶链浣撶郴涓銆备粠绠鍗旷殑 Memcached浣滀负鏁版嵁涓杞锛宑ron 钖庣瀹氭椂澶勭悊锛涘埌 Gearman銆丷abbitMQ 杩欎簺阒熷垪绁炲櫒锛涙渶杩 Laruence 鐢氲呖灏佽呬简鍒╃敤 libcurl 镄勫纾姝ョ壒镐у疄鐜板苟鍙 RPC 璋幂敤镄 yar 镓╁𪾢銆傚嚑涔庢暣涓绀惧尯閮藉湪瀵绘垒 PHP 镄勬恳瑗夸箣璺銆傚ソ钖э纴璇翠简涓澶у爢锛屽洖褰掍富棰樸备箣鍓嶆垜鍐欎简涓绡囱嫳鏂囩粌绗斻奥hy you PHP guys should learn Golang銆嬶纴銮峰缑涓嶅皯锲介檯鍙嬩汉镄勫叧娉ㄣ傛帓闄ゆ嫾鍐椤拰璇娉曡浠栦滑璇熺梾澶栵纴涓昏佹槸链夎稿氭湅鍙嬭夊缑鎴戞病鎶娄簨𨱍呰存竻妤氥傛墍浠ヨ繖閲屾垜鐢ㄦ瘝璇閲嶆柊镵婅亰杩欎釜浜嬫儏锛屽彧鏄杩欎簺锲介檯鍙嬩汉浠涔堟椂鍊栾兘瀛︿细阒呰讳腑鏂囧憿锛燂绂锛塆o 鎴栬 Golang锛屾槸鐢 Google 鏀鎸佺殑蹇阃熴佷竴镊淬佺ǔ瀹氱殑锛屾湁娲昏穬镄勭ぞ鍖烘敮鎸佺殑寮婧愮紪绋嬭瑷銆傝秺𨱒ヨ秺澶氱殑搴旂敤阃夋嫨浣跨敤 Golang 杩涜屾瀯寤恒傝槠铹 Rob Pike 璇粹溾 鎴戜滑甯屾湜 C++ 绋嫔簭锻樻潵浜呜В Go 骞朵綔涓轰竴涓鍙阃夌殑璇瑷 钬︹濓纴涓嶈繃鎴戠湡寰楄や负锛歅HPer 搴斿綋瀛︿範 Golang锛 鎺ヤ笅𨱒ユ垜浠灏辨潵璋堣皥铡熷洜銆傚规槗瀛︿範PHP 鐩稿綋瀹规槗瀛︿範銆侴olang 涔熸槸锛佸湪杩欑偣涓婏纴涓缇ゅぇ钥佸栧规垜镄勮傜偣杩涜屼简鐚涚儓镄勬姩鍑汇备粬浠璁や负鎴戠緸杈变简 PHPer锛岃村缑濂藉儚鍙链夌亩鍗旷殑涓滆タ PHPer 镓嶈兘瀛︿细涓镙枫备絾鏄锛岃繖闅鹃亾涓嶆槸浜嫔疄钖楋纻鎴栬呮崲涓璇存硶锛氩儚鎴戜竴镙风殑锽沧 PHP 镄勪汉锛屾垨澶氭垨灏戦兘浼氭洿锽沧㈢亩鍗旷殑涓滆タ銆侾HP 镄勮娉曟帴杩 C 镞忕紪绋嬭瑷锛圕/C++/Java绛夌瓑锛夈傚傛灉链夎繖浜涜瑷镄勭粡楠岋纴鍦ㄧ涓娆¢亣鍒 PHP 镄勬椂鍊欑珛鍒诲氨鑳藉紑濮嬩笂镓嬬紪鍐欎唬镰併傚湪鎴戠湅𨱒ワ纴缂栧啓 PHP 浠g爜鎴栬告洿锷犺冮獙绋嫔簭锻樼殑璁板繂锷涳纴钥屼笉鏄鏅哄姏锛埚綋浣犻溃瀵瑰悇绉崭笉钖岄庢牸镄勫嚱鏁板畾涔夈佸悇绉嶆墿灞旷殑鐗规畩绾﹀畾镞讹纴浣犱竴瀹氢细鐩稿綋璁ゅ悓鎴戠殑瑙傜偣锛夈侴olang 钖屾牱鏄涓涓 C 镞忕紪绋嬭瑷銆傚憙锛屾垨钥呮湁涓浜涗笉钖屽惂銆备緥濡傚叧阌瀛 钬渇or钬濓纴锷熻兘涓婂拰 PHP 镄勬帴杩戯纴浣嗘槸娌℃湁𨰾鍙枫傛浔浠惰鍙 钬渋f钬 钖屾牱镞犻渶𨰾鍙枫傚彲浠ラ槄璇 Effective Go 浜呜В镟村氩唴瀹广侴olang 鍙链 3025 涓鍏抽敭瀛楀拰 47 涓镎崭綔绗﹀彿銆佸垎闅旂﹀彿鎴栧叾浠栫壒娈婃爣璁般傝颁綇杩欎簺镙囱扮‘瀹炰笉闇瑕佷粈涔堢壒鍒镄勫姫锷涖傜簿宸х殑绫诲瀷绯荤粺鐩稿綋瀹规槗浣跨敤銆傚疄鐢ㄧ殑锛屽叿链夋柟娉旷殑缁撴瀯浣撶被鍨嬩唬镟夸简绗ㄩ吨镄勫硅薄绯荤粺銆傛帴鍙g殑璁捐℃槸 Golang 涓鎴戞渶锽沧㈢殑閮ㄥ垎銆傚綋瀹屾垚浜嗐奊o 鎸囧崡銆嬬殑瀛︿範涔嫔悗锛屽埄鐢 PHP 绉绱镄勭粡楠岋纴绔嫔埢灏卞彲浠ュ紑濮嬩娇鐢 Golang 澶勭悊涓浜涚亩鍗旷殑浠诲姟銆傚规槗浣跨敤PHP 鑴氭湰鏄鐢 SAPI 缁勪欢杩涜岃В鏋愭墽琛岀殑锛屽 Web 链嶅姟鍣ㄦā鍧椼丳HP-FPM 鎴栬 CLI銆傞儴缃 PHP 镓闇瑕佺殑鍏ㄩ儴涓滆タ灏辨槸涓涓 SAPI 鐜澧冦傞厤缃杩欎釜鐜澧冨逛簬鏂版坠𨱒ヨ村彲鑳芥槸瀛︿範 PHP 杩囩▼涓链涓哄汹闅剧殑閮ㄥ垎銆傛墍链夌殑 Golang 浠g爜浼氱紪璇戝拰阈炬帴涓烘湰鍦扮爜銆傛墍浠ラ櫎浜嗙紪璇戠幆澧冿纴镓ц屾椂镞犻渶鍐崭负鍏惰繘琛屼换浣旷壒鍒镄勯儴缃层傚规瘆 PHP 鐜澧幂殑閰岖疆锛岃繖瑕佺亩鍗曞緢澶氥备綘鐪熷缑璁や负閰岖疆 PHP 鐜澧冨緢澶嶆潅钖楋纻鎴戜笉瑙夊缑锛岀湡镄勶紒钥岄厤缃 Golang 缂栬疟鐜澧冩瘆闾h缮瑕佺亩鍗旷偣銆傛垜纭淇″凡缁忔湁澶ч噺镄 Golang 鐩稿叧镄勪功绫嶃佹枃绔犱粙缁嶈繃濡备綍杩涜岀紪璇戠幆澧幂殑閰岖疆浜嗐备负浜嗘洿锷犳竻鏅帮纴鎴戣繖閲屾⒊鐞嗕竴涓嬫濊矾銆
链変笁涓姝ラら渶瑕佸勭悊锛氢笅杞紾olang 镄勬簮浠g爜锛涙牴鎹銆奫缈昏疟]Go 鐜澧冭剧疆銆嬬殑鎻愮ず璁剧疆鐜澧冨彉閲忥绂杩愯屾簮浠g爜 src 鐩褰曚腑镄 all.bash銆傛垨钥呬竴姝ュ埌浣嶏细浣跨敤浜岃繘鍒跺寘杩涜屽畨瑁呫傜劧钖庡氨浼氩缑鍒颁竴涓鍙锅气済o钬濈殑宸ュ叿闆嗗悎銆备娇鐢ㄢ済o钬濆伐鍏峰拰浣跨敤 PHP 镄 CLI 宸ュ叿涓镙风亩鍗曘伞奫缈昏疟]go 宸ュ叿銆嫔规よ繘琛屼简璇︾粏镄勮В閲娿侾HP 镄勮糠镐濆傛灉涓涓缂栫▼璇瑷瀹规槗瀛︿範鍜屼娇鐢锛屾垜浠鏄涓嶆槸灏卞簲褰揿︿範瀹冨憿锛熸湁璁稿氩规槗瀛︿範鍜屼娇鐢ㄧ殑缂栫▼璇瑷銆傞毦阆撹佹妸瀹冧滑閮藉︿竴阆嶏纻绛旀堟槸鏄剧劧镄勶细NO!浣嗘槸 锻锛熷彧鏄锲犱负瀹冨緢閰凤紒鏄镄勶纴鎴戝湪寮鐜╃瑧锛屼絾鏄杩欐槸鐪熺殑銆傛棤璁哄备綍鍏堜粠 PHP 镊韬璋堣捣钖с侾HP 钬滃师链鏄涓轰简寮鍙戝姩镐佺殑 Web 椤甸溃钥岃捐$殑链嶅姟鍣ㄧ阃氱敤璇瑷(Wikipedia)钬濄侾HP 涓涓閲嶈佺殑鐗规у氨鏄鍙浠ュ祵鍏ュ埌 HMTL 涓銆备唬镰佺紪鍐椤湪钬<?php 钬 ?>钬濇爣绛惧唴锛汬TML 鍐椤湪镙囩惧栥傚畠链変竴涓寮哄ぇ镄勬墿灞旷郴缁熴傛墿灞曚娇鐢 C 璋幂敤 Zend API 缂栧啓銆傛暟鎹镄勫勭悊瀹为檯涓婅佸埄鐢ㄨ繖浜涙墿灞曞畬鎴愩傚湪鎴戠湅𨱒ワ纴PHP 鏄涓栫晫涓婃渶濂界殑妯℃澘璇瑷銆备絾鏄褰撶Н绱浜嗕竴浜 PHP 镄勭粡楠岋纴骞朵笖寮濮嬮溃瀵逛竴浜涙洿锷犲嶆潅镄 Web 搴旂敤镞讹纴浣犱竴瀹氢细瀵 PHP 浜х敓涓绉嶆棤锷涚殑镒熻夈傚畠娌℃湁鍐呭缓镄勫苟琛屾満鍒讹纴娌℃湁绾跨▼銆佽繘绋嬶纸浣犵湡寰楄や负闾d釜绠闄嬬殑杩涚▼鎺у埗鍙浠ヤ笉锷犳敼阃犵殑鐢ㄥ湪楂桦苟鍙戠殑鐢熶骇鐜澧冿纻锛夛纴鎴栬呭叾浠栨煇钬灭▼钬濄备竴涓鎱㈡暟鎹婧愬彲浠ラ樆濉炴暣涓椤甸溃镄勫勭悊銆傛秷鎭阒熷垪銆佺紦瀛樸佷唬鐞嗏︹︾郴缁熷紑濮嬩笉浠呬粎鏄 PHP 杩欎箞鍗旷函锛岃缮鍖呮嫭浜呜稿氭湇锷″拰绯荤粺缁勪欢銆傝繖镞讹纴PHP 鍙澶勭悊寰埚皯镄勪笟锷¢昏緫锛屾垚涓虹湡姝g殑妯℃澘璇瑷浜嗐侾HPer 浠镐绘槸鍦ㄥ绘垒瑙e喅杩欎竴闂棰樼殑锷炴硶锛屽傗淧HP multithread钬濇垨钥匬HP RPC 骞跺彂妗嗘灦銆傛垜寰堥毦璇村摢绉崭细镟村ソ涓浜涖备笉杩囨垜镶瀹氢綘浼氶渶瑕侀夋嫨涓浜涚紪绋嬭瑷鐢ㄤ簬钖庣宸ヤ綔镄勫紑鍙戙傚氨鎴戣嚜宸辩殑缁忛獙锛屾垜灏濊瘯杩 C锛堜竴鐩村湪鍜 malloc/free 杩涜屾悘鏂楋级/Java锛堥櫡鍏ュ埌浜 jar 鍦扮嫳涓锛/python锛堜粠𨱒ユ病鑳藉仛鍒 Pythonic 涓嶈达纴杩樻绘槸鍦ㄩ敊璇镄勭被鍨嬩腑镓撹浆锛夆︹﹀傛灉𨱍宠佽幏寰楁ц兘锛屽氨寰楀悓鍐呭瓨绠$悊杩涜屾悘鏂楋绂濡傛灉鐢 GC锛屽氨寰楅儴缃插拰璋冧紭 VM锛涘綋銮峰缑渚垮埄镐х殑镞跺欙纴钖屾椂涔熸槸璧板湪鍒灏栦笂锛屼竴涓灏忛敊璇灏卞紩璧峰法澶х殑𨱔鹃毦钬︹︽疮涓閮芥湁浼桦娍锛屽悓镙锋疮涓閮芥湁闂棰樸傚ソ钖э紒鐜板湪锲炲埌 Golang锛丢olang 链 GC锛屾棤闇鍏冲绩鍐呭瓨绠$悊锛堟垨钥呭彲浠ョ敤杈冨皯镄勭簿锷涘幓鍏虫敞瀹冿级銆备唬镰佽缂栬疟涓烘湰鍦扮爜锛屽洜姝も渃p钬濆拰钬渕v钬濆氨鏄閮ㄧ讲 Golang 缂栧啓镄勫簲鐢ㄦ墍闇瑕佺殑鍏ㄩ儴宸ュ叿銆傚櫌锛屾垜鍒氭墠宸茬粡璇磋繃浜嗭纴Golang 鏄涓涓鍏锋湁闱欐佺被鍨嬬郴缁熺殑缂栬疟璇瑷銆傛墍浠ヤ綘娌℃湁链轰细寮勪贡鍙橀噺镄勭被鍨嬨傚綋铹讹纴PHPer 搴旇ュ︿範 Golang 镄勪竴涓閲嶈佸师锲犳槸钬滆浆鍒癎o 鏄锲犱负浠栦滑骞舵湭鏀惧纯澶澶氱殑琛ㄨ揪鑳藉姏锛屼絾鏄銮峰缑浜嗘ц兘锛屽苟涓斾笌骞跺彂鍏辫垶锛圧ob Pike锛夆濄伞奥hy Not Go?锛堣嫳鏂囷级銆嫔规よ繘琛屼简娣卞叆镄勫垎鏋愩傛垜鍙浠ュ垎浜涓浜涙垜镄勭粡楠岋细链変竴涓 Gearman 镄剋orker 鐢ㄤ簬澶勭悊钖庣鏁版嵁銆侾HP 阃氲繃鍏 API 杩炴帴鍒 Gearman 镄 Job Server 钖 worker 鍙戣捣璇锋眰銆傛渶鍒 worker 鏄浣跨敤 python 缂栧啓镄勶纸杩樻湁镟村姞铡熷嬬殑鐗堟湰锛孭HP 镄勶纴浣嗘槸浣犺兘𨱍冲儚瀹冨伐浣滆捣𨱒モ︹﹀攭锛屼笉璇翠简钬︹︼级銆傝繖涓鐗堟湰链夎稿氱殑闂棰桡纸鏄鎴戜滑镊宸辩殑闂棰桡纴涓嶅叧 Python 镄勪簨锛夛纴浣嗘槸镊冲皯瀹冭兘宸ヤ綔銆傚悗𨱒ョ敤 Golang 閲嶅啓浜呜繖涓 worker銆备负姝ゆ垜寮鍙戜简 Golang 镄 Gearman API锛屽苟浣跨敤 Zend API 缂栧啓浜嗕竴涓鍦 Golang 涓镓ц PHP 鑴氭湰镄勫寘銆傜劧钖庡皢瀹冧滑鏀惧湪涓璧凤细涓涓鍙浠ユ墽琛 PHP 镄 Gearman worker銆傚畠宸茬粡宸ヤ綔浜嗕竴娈垫椂闂翠简锛岀湅璧锋潵杩树笉阌欙紒鍝︼纴鍙楀埌 Yar 镄勫惎鍙戯纴杩欓噷杩樻湁涓涓 Golang 缂栧啓镄 RPC 钖埚苟鍣锛岀敤𨱒ュ悎骞 PHP 鑴氭湰涓镄 RPC 璋幂敤銆傜幇鍦ㄨ缮鏄涓鐜╁叿锛屼笉杩囨垨璁告棩钖庤兘鐢ㄥ缑镌銆傝繖鍏跺疄鏄灏 Golang 镄 channel 褰扑綔娑堟伅阒熷垪𨱒ョ敤銆傛垜鍦ㄣ奊olang锛氭湁瓒g殑 channel 搴旂敤銆嬩腑瀵规ゆ湁涓浜涜存槑銆备笘鐣岀湡缇庡ソ鍟娿傝阿璋 Golang锛佹棤璁哄备綍锛屽ぇ澶氭暟 PHPer 鍦ㄨ繘琛屽悗绔寮鍙戠殑镞跺欓兘浼氶渶瑕佸︿範涓浜涘叾浠栬瑷銆傚傛灉浣犳e湪瀵绘垒锛屾垨钥呭凡缁忓皾璇曚简涓浜涘叾浠栬瑷銆备负浠涔堜笉𨱒ヨ瘯璇 Golang锛熷畠鐪熷缑鍙浠ヨ╀綘镄勭敓娲绘洿锷犺交𨱒惧拰蹇涔愩傝╀綘鍙浠ユ湁镟村氱殑镞堕棿闄浼翠綘镄勫朵汉鍜屾湅鍙嬶纴钖冧綘鐖卞悆镄勪笢瑗匡纴铡讳綘𨱍冲幓镄勫湴鏂广傝矊浼兼垜杩樻槸娌¤存竻妤氩晩锛熷ソ钖э纴娌″叧绯伙纴鍦ㄤ笅涓链堢殑涓锲借蒋浠跺紑鍙戣呭ぇ浼氢笂鍐嶈窡澶у跺氨杩欎釜璇濋桦仛涓涓鎺㈣ㄥ惂銆
Ⅱ 如何循环autoit脚本命令
写本地化测试脚本:
一般比较常用的免费测试脚本语言有,perl, tcl/expect, python, lua, autoit, shell等等。
用shell写的已iYAF(i18n Yarage Automation Framework)构架写的源代码共大家参考。
这个脚本支持本地化测试,脚本写的当中最好脚本的数据分开的方法来达到一个测试脚本和本地化测试数据结合来处理自动化测试。
这个shell脚本工具能运行在(HP/AIX/SUN/Linux)运行通过。
这个shell脚本工具有以下功能:
单独的英文脚本或简体中文,繁体中文,韩文,日文环境里也能运行并输出相应语言的log文件。
FTP下载,telnet模拟,sendmail,仿键盘模拟,用户输入的脚本记录,自动建立一个测试脚本模板,自动建立主应用脚本,查询测试案例等功能。
详细的内容请链接一下地址去看查看PPT文件,
http://groups.google.com/group/iyaf