แตงกวา - ตัวเลือกบรรทัดคำสั่ง

แตงกวาสามารถใช้ทดสอบระบบคอมพิวเตอร์ได้เกือบทุกชนิด จนถึงตอนนี้เราได้เห็นวิธีเรียกใช้การทดสอบโดยใช้ Eclipse IDE มีอีกวิธีหนึ่งที่เราสามารถเรียกใช้การทดสอบแตงกวาผ่านอินเทอร์เฟซบรรทัดคำสั่ง แล้วข้อดีของการทำคืออะไร?

การรันกรอบการทดสอบจาก Terminal มีข้อดีในตัวเองเช่นการลบล้างการกำหนดค่าการรันที่กล่าวถึงในโค้ด

ในการดำเนินการทดสอบแตงกวาด้วยพรอมต์คำสั่งให้ใช้ขั้นตอนต่อไปนี้หลังการกำหนดค่าระบบ

Step 1- สร้างโครงการทดสอบ Maven ชื่อ commandLine.

  • ไปที่ไฟล์→ใหม่→อื่น ๆ → Maven → Maven Project →ถัดไป

  • ระบุรหัสกลุ่ม (รหัสกลุ่มจะระบุโครงการของคุณโดยไม่ซ้ำกันในทุกโครงการ)

  • ระบุรหัสอาร์ติแฟกต์ (รหัสอาร์ติแฟกต์คือชื่อของ jar ที่ไม่มีเวอร์ชันคุณสามารถเลือกชื่อใดก็ได้ที่เป็นตัวพิมพ์เล็ก)

  • คลิกที่ Finish

  • เปิด pom.xml -

    • ไปที่ package explorer ทางซ้ายมือของ Eclipse

    • ขยายโครงการ CucumberTest

    • ค้นหา pom.xml ไฟล์.

    • คลิกขวาและเลือกตัวเลือกเปิดด้วย“ โปรแกรมแก้ไขข้อความ”

  • เพิ่มการพึ่งพาสำหรับ Selenium - สิ่งนี้จะระบุ Maven ซึ่งจะต้องดาวน์โหลดไฟล์ Selenium jar จากที่เก็บส่วนกลางไปยังที่เก็บในเครื่อง

    • เปิด pom.xml อยู่ในโหมดแก้ไขสร้างแท็กการอ้างอิง (<dependencies> </dependencies>) ภายในแท็กโปรเจ็กต์

    • ภายในแท็กการอ้างอิงให้สร้างแท็กการอ้างอิง (<dependency> </dependency>)

    • ระบุข้อมูลต่อไปนี้ภายในแท็กการอ้างอิง

<dependency> 
   <groupId>org.seleniumhq.selenium</groupId> 
   <artifactId>selenium-java</artifactId> 
   <version>2.47.1</version> 
</dependency>
  • เพิ่มการพึ่งพาสำหรับ Cucumber-Java - สิ่งนี้จะระบุ Maven ซึ่งไฟล์ Cucumber จะถูกดาวน์โหลดจากที่เก็บส่วนกลางไปยังที่เก็บในเครื่อง

    • สร้างแท็กการอ้างอิงขึ้นมาอีกหนึ่งแท็ก

    • ระบุข้อมูลต่อไปนี้ภายในแท็กการอ้างอิง

<dependency> 
   <groupId>info.cukes</groupId> 
   <artifactId>cucumber-java</artifactId> 
   <version>1.0.2</version> 
   <scope>test</scope> 
</dependency>
  • เพิ่มการพึ่งพาสำหรับ Cucumber-JUnit - สิ่งนี้จะระบุ Maven ซึ่งจะต้องดาวน์โหลดไฟล์ Cucumber JUnit จากที่เก็บกลางไปยังที่เก็บในเครื่อง

    • สร้างแท็กการอ้างอิงขึ้นมาอีกหนึ่งแท็ก

    • ระบุข้อมูลต่อไปนี้ภายในแท็กการอ้างอิง

<dependency> 
   <groupId>info.cukes</groupId> 
   <artifactId>cucumber-junit</artifactId> 
   <version>1.0.2</version> 
   <scope>test</scope> 
</dependency>
  • เพิ่มการพึ่งพาสำหรับ JUnit - สิ่งนี้จะระบุ Maven ซึ่งไฟล์ JUnit จะถูกดาวน์โหลดจากที่เก็บส่วนกลางไปยังที่เก็บในเครื่อง

    • สร้างแท็กการอ้างอิงขึ้นมาอีกหนึ่งแท็ก

    • ระบุข้อมูลต่อไปนี้ภายในแท็กการอ้างอิง

<dependency> 
   <groupId>junit</groupId> 
   <artifactId>junit</artifactId> 
   <version>4.10</version> 
   <scope>test</scope> 
</dependency>
  • ตรวจสอบไบนารี

    • เมื่อแก้ไข pom.xml สำเร็จแล้วให้บันทึก

    • ไปที่ Project → Clean - จะใช้เวลาไม่กี่นาที

Step 2 - สร้างแพ็คเกจชื่อ "outline" ภายใต้ src / test / java

Step 3 - สร้างไฟล์ฟีเจอร์ชื่อ“ commandLine.feature”

  • เลือกและคลิกขวาที่โครงร่างแพ็คเกจ

  • คลิกที่ไฟล์ 'New'

  • ตั้งชื่อไฟล์เช่น“ commandLine.feature”

  • เขียนข้อความด้านล่างภายในไฟล์และบันทึก

    Feature - เค้าโครงสถานการณ์

    Scenario Outline - เข้าสู่ระบบสำหรับเว็บไซต์เครือข่ายสังคม

    กำหนดให้ผู้ใช้ไปที่ Facebook

    เมื่อฉันป้อนชื่อผู้ใช้เป็น "<username>" และรหัสผ่านเป็น "<password>"

    จากนั้นการเข้าสู่ระบบจะไม่สำเร็จ

ตัวอย่าง

| username  | password  | 
| username1 | password1 | 
| username2 | password2 |

Note- ที่นี่ตัวอย่างคำอธิบายประกอบอธิบายถึงช่วงของอินพุตที่จะให้เมื่อดำเนินการตามสถานการณ์ สถานการณ์การทดสอบจะดำเนินการสำหรับแต่ละอินพุตที่มีให้ ดังนั้นในตัวอย่างที่กำหนดสถานการณ์ทดสอบจะดำเนินการสามครั้ง

Step 4 - สร้างไฟล์นิยามขั้นตอน

  • เลือกและคลิกขวาที่โครงร่างแพ็คเกจ

  • คลิกที่ไฟล์ 'New'

  • ตั้งชื่อไฟล์เป็น commandLine.java

  • เขียนข้อความต่อไปนี้ภายในไฟล์และบันทึก

package Outline;
 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

import cucumber.annotation.en.Given; 
import cucumber.annotation.en.Then; i
import cucumber.annotation.en.When; 

public class stepdefinition { 
   WebDriver driver = null; 
	
   @Given("^user navigates to facebook$") 
   public void goToFacebook() { 
      driver = new FirefoxDriver(); 
      driver.navigate().to("https://www.facebook.com/"); 
   } 
	
   @When("^I enter Username as \"([^\"]*)\" and Password as \"([^\"]*)\"$") 
   public void I_enter_Username_as_and_Password_as(String arg1, String arg2) {
      driver.findElement(By.id("email")).sendKeys(arg1);
      driver.findElement(By.id("pass")).sendKeys(arg2);
      driver.findElement(By.id("u_0_v")).click(); 
   } 
	
   @Then("^login should be unsuccessful$") 
   public void validateRelogin() { 
      if(driver.getCurrentUrl().equalsIgnoreCase(
         "https://www.facebook.com/login.php?login_attempt=1&lwv=110")){ 
            System.out.println("Test Pass"); 
      } else { 
         System.out.println("Test Failed"); 
      } 
      driver.close(); 
   } 
}

Note- ในโค้ดเราต้องกำหนดฟังก์ชันที่มีอาร์กิวเมนต์อินพุตสองตัว: ชื่อผู้ใช้หนึ่งชื่อและอื่น ๆ จะเป็นรหัสผ่าน ดังนั้นสำหรับชุดข้อมูลแต่ละชุดที่มีให้ในแท็กตัวอย่างชุดของ GIVEN เมื่อไหร่และแล้วจะถูกดำเนินการ

Step 5 - สร้างไฟล์คลาสนักวิ่ง

  • เลือกและคลิกขวาที่โครงร่างแพ็คเกจ

  • คลิกที่ไฟล์ 'New'

  • ตั้งชื่อไฟล์เช่น, runTest.java

  • เขียนข้อความต่อไปนี้ภายในไฟล์และบันทึก

package Outline;
 
import org.junit.runner.RunWith; 
import cucumber.junit.Cucumber; 

@RunWith(Cucumber.class) 
@Cucumber.Options(format = {"pretty", "html:target/cucumber"}) 

public class runTest { }
  • เปิดพรอมต์คำสั่ง

  • ไปที่ไดเร็กทอรีที่มีแพ็กเกจ“ commandLine” อยู่ e: \ Workspace \ LoginTest \ src> cd test \ java

  • เรียกใช้การทดสอบคำสั่ง mvn: คุณจะเห็นว่าสถานการณ์ทั้งหมดที่อธิบายไว้ในไฟล์คุณลักษณะได้รับการดำเนินการแล้ว (หากไม่มีข้อผิดพลาดใด ๆ ) สุดท้ายที่ด้านล่างคุณจะพบข้อมูลต่อไปนี้

ผลลัพธ์

This describes the total test run, along with failure if any.

คำสั่งก่อนหน้านี้รันทุกอย่างตามที่กล่าวไว้ในคลาส JUnit Runner อย่างไรก็ตามหากเราต้องการลบล้างการกำหนดค่าที่กล่าวถึงใน Runner ต่อไปนี้เป็นตัวอย่างบางส่วนที่ต้องทำ

  • ตอนนี้รันคำสั่ง mvn test - Dcucumber.options = "- help" บนพร้อมรับคำสั่ง การรันสิ่งนี้จะพิมพ์ตัวเลือกที่มีทั้งหมด

  • ในการรันแท็กเฉพาะให้รันคำสั่ง mvn test -Dcucumber.options = "- tags @SmokeTest" บนพร้อมรับคำสั่ง จะเรียกใช้เฉพาะแท็กซึ่งมีเครื่องหมาย @SmokeTest

  • ในการเปลี่ยนรูปแบบของผลลัพธ์ให้รันคำสั่ง E: \ Workspace \ LoginTest> mvn test -Dcucumber.options = "- plugin junit: target / cucumber-junit-report.xml" บน command prompt มันจะเปลี่ยนรายงาน จัดรูปแบบเป็นตัวสร้างรายงาน JUnit