Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
»ùÓÚCucumberµÄBDD×Ô¶¯»¯²âÊÔ
 
×÷ÕߣºGavin
  2667  次浏览      27
 2019-11-1
 
±à¼­ÍƼö:
ÎÄÕÂÖ÷Òª½éÉÜÁËcucumberµÄÏà¹Ø¸ÅÄî¡¢¹¤×÷Ô­Àí£¬ÒÔ¼°cucumber¿ÉÒÔͨ¹ý¶àÉÙÖÖ¿ª·¢ÓïÑÔÀ´ÊµÏÖÓëµ×²ãÇý¶¯µÄÓ³ÉäµÈ¡£
±¾ÎÄÀ´×ÔÓÚtesterhome£¬ÓÉ»ðÁú¹ûÈí¼þLuca±à¼­¡¢ÍƼö¡£

1. »îÎĵµ£¬Ò»¶Î´úÂëÈÏʶcucumber

# language :zh-CN
@baidu1
¹¦ÄÜ:*** Êý¾ÝÇý¶¯°Ù¶ÈËÑË÷
³¡¾°´ó¸Ù:*** Êý¾ÝÇý¶¯°Ù¶ÈËÑË÷
#½çÃæ-Ê×Ò³
¼ÙÉèÎÒÔÚä¯ÀÀÆ÷´ò¿ª@@@@@https://www.baidu.com/
#½çÃæ-ÊäÈë²éѯÌõ¼þ
µ±ÎÒͨ¹ýIDÔÚÊäÈë¿ò@@@@@kw@@@@@ÊäÈë@@@@@<Input>
²¢ÇÒÎÒͨ¹ýIDµã»÷@@@@@su
#½çÃæ-ÑéÖ¤²éѯ½á¹û
ÄÇôÎÒ½«»áÔÚ½çÃæÉÏ¿´µ½@@@@@<Output>
Àý×Ó:*** ²âÊÔÊý¾Ý
|Input |Output |
|java |java |
|github |github |

˵Ã÷£º

cucumberÊÇ»ùÓÚ×ÔÈ»ÓïÑÔµÄBDD(Behaviour-Driven Development)µÄ²âÊÔ¿ò¼Ü£¬Ä¿Ç°Ö§³ÖµÄÒÑÓÐ42ÖÖÓïÑÔÖ®¶à£¬ÎÒÃÇĿǰµÄ¿´µ½µÄ¾ÍÊǶÔÖÐÎĵÄÖ§³Ö¡£

# language :zh-CN£¬Õâ¸ö¾ÍÊǶÔÖ§³ÖÓïÑԵıê¼Ç¡£

@baidu1£¬Õâ¸ö¾ÍÊǵ±Ç°½Å±¾µÄ±êÇ©tag, tag¿ÉÒÔ¿´×÷Êǽű¾µÄΨһÐÔ±ê¼Ç£¬¿ÉÒÔͨ¹ýtagΨһµÄÖÆ¶¨½Å±¾½øÐÐÔËÐС£

¹¦ÄÜ£¬¾ÍÊǶԽű¾¸²¸ÇµÄ¹¦ÄܽøÐÐÎÄ×ÖÐÔµÄÃèÊö¡£

³¡¾°´ó¸Ù£¬½Å±¾¸²¸ÇµÄ³¡¾°ÃèÊö¡£

Àý×Ó£¬ ¼´Îª×Ô¶¯»¯²âÊÔµÄÊý¾ÝÇý¶¯¡£

2. ÈÏʶcucumberµÄ¹Ø¼ü×Ö

cucumberµÄÔ­Éú´úÂëÊÇ»ùÓÚrubyµÄ

$ script/cucumber --i18n zh-CN
| feature | "¹¦ÄÜ" |
| background | "±³¾°" |
| scenario | "³¡¾°" |
| scenario_outline | "³¡¾°´ó¸Ù" |
| examples | "Àý×Ó" |
| given | "* ", "¼ÙÈç" |
| when | "* ", "µ±" |
| then | "* ", "ÄÇô" |
| and | "* ", "¶øÇÒ" |
| but | "* ", "µ«ÊÇ" |
| given (code) | "¼ÙÈç" |
| when (code) | "µ±" |
| then (code) | "ÄÇô" |
| and (code) | "¶øÇÒ" |
| but (code) | "µ«ÊÇ" |

ͨ¹ýÕâЩ¸ÅÄîµÄÁ˽⣬ÎÒÃǾͺÜÈÝÒ×µÄÄܶÁ¶®Õâ¸ö½Å±¾ÁË£¬Êý¾ÝÇý¶¯ÊµÏÖ°Ù¶ÈËÑË÷

3. CucumberµÄ¹¤×÷Ô­Àí

˵Ã÷£º

ÃæÏòÒµÎñ£º¾ÍÊÇͨ¹ý×ÔÈ»ÓïÑÔ¶Ô×Ô¶¯»¯²âÊԽű¾µÄÃèÊö£¬·½±ãµÄ½Å±¾µÄÔĶÁÓëά»¤¡£

ÃæÏò¼¼Êõ£ºÐ´¹ýselenium×Ô¶¯»¯²âÊԵĶ¼ÖªµÀÎÒÃǶÔϵͳµÄÿһ²½²Ù×÷¶¼»á¶ÔÓ¦Ò»Ðлò¶àÐдúÂë¡£

cucumberµÄÇ¿´óÖ®´¦¾ÍÔÚÓÚ°Ñ¿´ËƲ»Ïà¹ØµÄÃæÏòÒµÎñÓëÃæÏò¼¼ÊõʵÏÖÁËÓ³Éä¡£

4. cucumberʵÏÖweb×Ô¶¯»¯²âÊÔ

ͨ¹ýÇ°ÃæµÄ½²½â£¬´ó¼ÒÃ÷°×cucumberʵÏÖ×Ô¶¯»¯Ò²ÊÇÐèÒªµ×²ã¼¼ÊõµÄ£¬µ×²ã¼¼ÊõÎ޷ǾÍÊÇʵÏÖ¶Ôweb ä¯ÀÀÆ÷µÄÇý¶¯£¬ÎÒÃÇʹÓÃselenium2 µÄwebDriverÀ´ÊµÏÖ¡£

ͨ¹ýÏÂÃæµÄÁ´½Ó´ó¼Ò¿ÉÒÔÁ˽⵽£¬cucumber¿ÉÒÔͨ¹ý¶àÉÙÖÖ¿ª·¢ÓïÑÔÀ´ÊµÏÖÓëµ×²ãÇý¶¯µÄÓ³Éä¡£

cucumber github

5. ÔÚideaÀïÃæµÄ´úÂë½á¹¹

˵Ã÷£º

resourcesĿ¼ÊÇÓÃÀ´´æ·ÅcucumberµÄfeature½Å±¾Îļþ¡£

javaµÄpackageÀïÃæÊǷŵÄÊÇseleniumµÄÇý¶¯´úÂ룬javaÓëfeatureµÄÓ³Éä´úÂë¡£

6.´úÂëÓ³ÉäÓëʵÏÖ

¿ªÆªµÄ½Å±¾»Ø¹ýÍ·À´ÔÙ¿´Ò»Ï£¬Õâ¸ö½Å±¾µÄÌØµã¾ÍÊÇ·½±ãÔĶÁ£¬µ«Êǵ¥µ¥¿¿Õâ¸ö½Å±¾ÊDz»ÄܰÑ×Ô¶¯»¯ÅÜÆðÀ´µÄ£¬ÐèÒªµ×²ãµÄdriver À´ÊµÏÖ£¬ÏÂÃæÕâ¶Î´úÂë¾ÍÊÇÓëÖ®¶ÔÓ¦µÄ¼¼ÊõʵÏÖ´úÂë¡£

package com.XXXX.autoTest.webApp;
import cucumber.api.java.After;
import cucumber.api.java.Before;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.When;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
/**
* Created by Administrator on 2015/10/21.
*/
public class StepDefinitions {
private WebDriver driver;
@Before
public void setUp() {
System.setProperty("webdriver.chrome.driver", "res/chromedriver.exe");
driver = new ChromeDriver();
}
@Given("^ÎÒÔÚä¯ÀÀÆ÷´ò¿ª@@@@@(.*)$")
public void openUrl(String url) {
driver.get(url);
}
@When("^ÎÒͨ¹ýIDÔÚÊäÈë¿ò@@@@@(.*)@@@@@ÊäÈë@@@@@(.*)$")
public void inputById(String id, String value) {
driver.findElement(By.id(id)).sendKeys(value);
}
@When("^ÎÒͨ¹ýIDµã»÷@@@@@(.*)$")
public void clickById(String id) {
driver.findElement(By.id(id)).click();
}
@After
public void tearDown() {
driver.quit();
}
}

ͨ¹ý¶ÔÕÕÕâ¶Î´úÂëÓ뿪ƪµÄ½Å±¾´ó¼Ò²»ÄÑ·¢ÏÖ£¬Á½ÕߵĶÔÓ¦ÊÇ¿¿javaµÄ×¢½âÀ´Æ¥ÅäµÄ¡£

7.ÔËÐдúÂë

java´úÂëµÄÒª¼¯³Éjunit»òtestngÀ´ÊµÏֽű¾µÄÔËÐС£

 
   
2667 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

΢·þÎñ²âÊÔÖ®µ¥Ôª²âÊÔ
һƪͼÎÄ´øÄãÁ˽â°×ºÐ²âÊÔÓÃÀýÉè¼Æ·½·¨
È«ÃæµÄÖÊÁ¿±£ÕÏÌåϵ֮»Ø¹é²âÊÔ²ßÂÔ
È˹¤ÖÇÄÜ×Ô¶¯»¯²âÊÔ̽Ë÷
Ïà¹ØÎĵµ

×Ô¶¯»¯½Ó¿Ú²âÊÔʵ¼ù֮·
jenkins³ÖÐø¼¯³É²âÊÔ
ÐÔÄܲâÊÔÕï¶Ï·ÖÎöÓëÓÅ»¯
ÐÔÄܲâÊÔʵÀý
Ïà¹Ø¿Î³Ì

³ÖÐø¼¯³É²âÊÔ×î¼Ñʵ¼ù
×Ô¶¯»¯²âÊÔÌåϵ½¨ÉèÓë×î¼Ñʵ¼ù
²âÊԼܹ¹µÄ¹¹½¨ÓëÓ¦ÓÃʵ¼ù
DevOpsʱ´úµÄ²âÊÔ¼¼ÊõÓë×î¼Ñʵ¼ù