Xây dựng khung tự động hóa thử nghiệm lai python

RAFT - Khung tự động tái sử dụng để thử nghiệm

Thiết lập ban đầu

  • Cài đặt và cấu hình Python3

  • Thiết lập IDE của bạn [Tốt nhất là Phiên bản Cộng đồng Pycharm]

  • Nhập kho lưu trữ nhân bản dưới dạng dự án

  • Cài đặt plugin quyến rũ để báo cáo

    • Cho cửa sổ

      • Chạy lệnh này trong powershell

          iex [new-object net.webclient].downloadstring['//get.scoop.sh']

      • Sau khi cài đặt scoop chạy lệnh này

          scoop install allure

    • dành cho máy Mac

      • Chạy lệnh này trên terminal để cài đặt homebrew

          /usr/bin/ruby -e "$[curl -fsSL //raw.githubusercontent.com/Homebrew/install/master/install]"

      • Sau khi cài đặt homebrew chạy lệnh này

          brew install allure

    • cho Linux

      • Chạy các lệnh sau để cài đặt allure trên linux

          sudo apt-add-repository ppa:qameta/allure
          sudo apt-get update
          sudo apt-get install allure

  • Cài đặt tất cả các gói cần thiết bằng lệnh này

    pip install -r requirements.txt

  • Thêm trường hợp thử nghiệm của bạn và thư mục Test Scripts

  • Thêm dữ liệu thử nghiệm của bạn vào TestData_Prod. xlsx/ Giai đoạn dữ liệu thử nghiệm. tập tin xlsx

  • Goto thực thi_commands. md và chọn lệnh cụ thể để thực hiện test case

Thí dụ

  • Mở thiết bị đầu cuối pycharm [Alt+F12] và chạy lệnh sau để gọi cục bộ trình duyệt chrome trên môi trường dàn dựng

    py.cleanup -p && py.test --environment=staging --browser=local_chrome --alluredir ExecutionReports/

  • Kích hoạt báo cáo quyến rũ

    allure serve ExecutionReports/

Tự động hóa thử nghiệm hiện là một thành phần quan trọng đối với bất kỳ chuyên gia tự động hóa thử nghiệm thành công nào và Selenium là một trong những thư viện tự động hóa thử nghiệm phổ biến nhất mà chúng ta cần biết, Selenium có một số liên kết trong một số ngôn ngữ, như trong Java,. mạng, Python, ruby, v.v. Mọi người kiểm thử tự động nên biết cách thiết kế và phát triển một khung từ đầu. Chúng ta không nên chỉ biết tạo Selenium test automation framework trong Java. Đôi khi, các tổ chức dự án hoặc khách hàng có thể yêu cầu thực hiện khung tự động hóa thử nghiệm của chúng tôi từ Python

Hôm nay, tôi đã tạo thành công một loạt phiên video để tạo khung tự động hóa thử nghiệm Python từ đầu, cho phép ngay cả người mới bắt đầu tạo khung tự động hóa thử nghiệm cơ bản trong Selenium ~ Python

Video 01 - Khởi động. Đây là video đầu tiên sẽ cho thấy cách chúng ta có thể tạo và cài đặt các thành phần ban đầu để tự động hóa thử nghiệm Python trong Selenium. Nó cho thấy việc thiết lập các mô-đun PyCharm và Python Selenium

Video 02 - Tạo mô hình đối tượng trang - Khả năng tái sử dụng trang là một trong những điều quan trọng trong framework. Video này cho thấy cách chúng tôi có thể đạt được khả năng sử dụng lại phần tử và trang trong khuôn khổ của chúng tôi

Video 03 - Khả năng điều khiển dữ liệu - Video này sẽ hướng dẫn mọi người về cách chúng tôi có thể lấy dữ liệu từ tệp JSON trong khung thử nghiệm mà chúng tôi đang tạo

Video 04 - Tích hợp báo cáo - Video này sẽ hướng dẫn bất kỳ người đam mê học tập nào tìm hiểu cách tích hợp bảng điều khiển báo cáo Allure vào khung thử nghiệm mà họ đang phát triển

Video 05 - Tích hợp BDD - Video cuối cùng của loạt bài này về cách chúng ta có thể đưa BDD vào hoạt động. Video này cho biết cách chúng tôi có thể tích hợp Behave vào khung kiểm thử tự động mà chúng tôi đã tạo

Hướng dẫn thông tin này giải thích Framework lai là gì, cách sử dụng và thành phần của Selenium Hybrid Driven Framework và cách triển khai nó

Khung lai là gì?

Hybrid Driven Framework là sự kết hợp của cả Data-Driven và Keyword-Driven framework

Tại đây, các từ khóa cũng như dữ liệu thử nghiệm được đưa ra bên ngoài. Các từ khóa được duy trì trong một tệp lớp Java riêng biệt và dữ liệu thử nghiệm có thể được duy trì trong tệp thuộc tính/tệp excel/có thể sử dụng nhà cung cấp dữ liệu của khung TestNG

=> Kiểm tra tại đây để xem hướng dẫn đào tạo A-Z về Selenium tại đây

Bạn sẽ học được gì

  • Giới thiệu về Khung lai
  • Các thành phần của Hybrid Driven Framework
    • #1] Thư viện chức năng
    • #2] Trang tính Excel để lưu trữ từ khóa
    • #3] Mẫu trường hợp thử nghiệm thiết kế
    • #4] Kho lưu trữ đối tượng cho các phần tử
    • #5] Tập lệnh trình điều khiển
  • Sự kết luận
    • đề xuất đọc

Giới thiệu về Khung lai

Đây là Video hướng dẫn

??

Khung Hybrid Driven chủ yếu được sử dụng bởi những người thử nghiệm thủ công không có nhiều kiến ​​thức về ngôn ngữ lập trình. Những người như vậy có thể chỉ cần nhìn vào kho lưu trữ Từ khóa, Dữ liệu thử nghiệm và Đối tượng và bắt đầu tạo trường hợp thử nghiệm ngay lập tức mà không cần phải viết mã bất kỳ thứ gì trong khuôn khổ.

Các thành phần của Hybrid Driven Framework

Các thành phần của Khung kết hợp tương tự như các thành phần của Khung hướng từ khóa trong đó mọi Dữ liệu kiểm tra, cũng như Từ khóa, được đưa ra bên ngoài làm cho tập lệnh xuất hiện ở dạng tổng quát hơn

  1. Thư viện chức năng
  2. Bảng Excel để lưu trữ Từ khóa
  3. Mẫu trường hợp thử nghiệm thiết kế
  4. Kho lưu trữ đối tượng cho các phần tử/bộ định vị
  5. Tập lệnh kiểm tra hoặc Tập lệnh trình điều khiển

#1] Thư viện chức năng

Các phương thức do người dùng xác định được tạo cho mỗi hành động của người dùng. Nói cách khác, Từ khóa được tạo trong tệp thư viện

Ví dụ. Hãy để chúng tôi lấy một ví dụ để tự động hóa các trường hợp thử nghiệm bên dưới.

Trường hợp kiểm tra Không có Mô tả Các bước kiểm tra Kết quả mong đợi1Xác minh logo Amazon hiện tại1. Nhập URL - https. //www. amazon. com Logo Amazon sẽ được hiển thị trong trang chủ Xác minh đăng nhập hợp lệ1. Nhập URL - https. //www. amazon. com
2. Nhấp vào liên kết 'Đăng nhập'
3. Nhập Email hợp lệ
4. Nhấp vào tiếp tục
5. Nhập mật khẩu hợp lệ
6. Nhấp vào SignInButton Biểu tượng người dùng phải có trong Trang chủ 3 Đăng nhập không hợp lệ1. Nhập URL - https. //www. amazon. com
2. Nhấp vào liên kết 'Đăng nhập'
3. Nhập Email không hợp lệ
4. Nhấp vào tiếp tục Thông báo lỗi này phải chứa 'không thể tìm thấy tài khoản'

Đầu tiên, các trường hợp thử nghiệm và các bước thử nghiệm của chúng được phân tích và hành động của chúng được ghi lại

Giả sử, trong TC 01. Xác minh logo Amazon hiện tại- hành động của người dùng sẽ là. Nhập URL
Trong TC 02. Xác minh đăng nhập hợp lệ- hành động của người dùng là Nhập URL, Nhấp, Nhập
Trong TC03. Xác minh thông tin đăng nhập không hợp lệ- hành động của người dùng là Nhập URL, Nhấp, Nhập

Bây giờ, tệp thư viện sẽ được tạo với Từ khóa được xác định cho từng hành động như bên dưới

từ khóa. java

________số 8

#2] Trang tính Excel để lưu trữ từ khóa

Các từ khóa được tạo trong tệp thư viện được lưu trữ trong một bảng excel với mô tả của nó cho bất kỳ ai sử dụng khung này đều hiểu

#3] Mẫu trường hợp thử nghiệm thiết kế

Mẫu Test Case được tạo cho framework. Không có khuôn mẫu cụ thể để làm theo. Theo Khung kết hợp, cả Dữ liệu thử nghiệm và Từ khóa phải được đưa ra bên ngoài. Vì vậy, một mẫu được tạo ra cho phù hợp. Ví dụ

Đối với Test case 2 – Xác minh Đăng nhập hợp lệ

Các bước kiểm tra Loại định vị Giá trị định vịTestDataAssertionTypeExpectedValueenter_URLhttps. //www. amazon. comClick xpath//div[contains[@id,'Sign In']]typeS xpath//div[contains[@id,'email']]test@gmail. comClickxpath//div[contains[@id,' Continue']]typeInidpasswordPassword@123ClickidSignInAssertElementxpath//div[contains[@id,'usericon']]Displayed

Tương tự như vậy, các bước kiểm tra được điền cho từng trường hợp kiểm tra trong một trang riêng

#4] Kho lưu trữ đối tượng cho các phần tử

Một Kho lưu trữ riêng được duy trì cho tất cả các yếu tố trên trang web. Mỗi WebElement được gọi bằng một tên theo sau là giá trị của nó trong Kho lưu trữ đối tượng [trong trường hợp này, đó là tệp thuộc tính]. Mẫu Test Case sẽ giữ Tên đối tượng và giá trị của nó được lấy từ Kho lưu trữ như bên dưới

Ở đây, LoginLink là tên của đối tượng và giá trị của nó được đọc từ OR. các thuộc tính như ‘//div[chứa[@id,’ Đăng nhập’]]

Theo đó, code đọc giá trị từ ObjectRepository sẽ được đưa vào script Keywords. java

Ví dụ Tệp thư viện. xem xét hành động 'nhấp chuột' trong Từ khóa. java

public class Keywords {
public void click[WebDriver driver, String ObjectName, String locatorType] 
throws IOException{
		driver.findElement[this.getObject[ObjectName, locatorType]].click[];
	}
	
	
	By getObject[String ObjectName, String locatorType] throws 
IOException{
//Object Repository is opened		
File file = new File[path+"\\Externals\\Object Repository.properties"];
FileInputStream fileInput = new FileInputStream[file];
	
//Properties file is read	 
Properties prop = new Properties[];
		
		
//find by xpath
if[locatorType.equalsIgnoreCase["XPATH"]]{
	  return By.xpath[prop.getProperty[ObjectName]]; 
// ObjectName is read and its value is returned
}
		
//find by class
else if[locatorType.equalsIgnoreCase["ID"]]{
	   return By.Id[prop.getProperty[ObjectName]];
// ObjectName is read and its value is returned

}
	        
//find by name
else if[locatorType.equalsIgnoreCase["NAME"]]{
	   return By.name[prop.getProperty[ObjectName]];
// ObjectName is read and its value is returned

}
return null;
		
	}
}

Kho lưu trữ đối tượng cho dữ liệu thử nghiệm trong các trường hợp thử nghiệm

Hãy để tôi chỉ cho bạn một ví dụ đơn giản về cách tất cả dữ liệu thử nghiệm liên quan đến tập lệnh được đưa ra bên ngoài, có khung tổng quát hơn

  • Ngoại hóa dữ liệu kiểm tra từ Mẫu trường hợp kiểm tra

Tương tự, dữ liệu thử nghiệm cũng được đọc từ tệp thuộc tính

  • Kho lưu trữ đối tượng cho dữ liệu thử nghiệm trong tập lệnh chung

Các dữ liệu chung khác như tên Trình duyệt, vị trí trình điều khiển thực thi, tên tệp trường hợp thử nghiệm, v.v. cũng có thể được đưa ra bên ngoài trong một kho lưu trữ riêng

Trong ví dụ trên, tham số trình duyệt được đặt bên ngoài trong tệp thuộc tính – Cơ bản. đặc tính

  • Truyền dữ liệu thử nghiệm từ TestNG Suite

TestData cũng có thể được chuyển từ một tệp bộ TestNG sang phương thức

We use a tag called in the TestNG.xml file just above the class where it is used.

Syntax:

Khi bộ thử nghiệm được chỉ định với tên tham số và giá trị của nó, các chú thích được sử dụng trong tập lệnh để chỉ định phương thức nào sử dụng giá trị. Điều này được chỉ định bằng chú thích @Parameters

cú pháp. @Parameter[{“value_to_be_passed”}]

Nhiều tham số cũng có thể được truyền cho một phương thức như

cú pháp

  scoop install allure
0

Lưu ý rằng điều này không đề cập đến nhiều giá trị của cùng một tham số, nó chỉ lấy nhiều giá trị của các tham số khác nhau

#5] Tập lệnh trình điều khiển

Phần này chứa logic chính để đọc tất cả các trường hợp thử nghiệm từ bảng excel mẫu trường hợp thử nghiệm và thực hiện hành động tương ứng bằng cách đọc từ tệp thư viện. Kịch bản được thiết kế dựa trên mẫu test case đã tạo

Sự kết luận

Do đó, một Hybrid Framework có thể được tạo và sử dụng để tự động hóa bất kỳ ứng dụng nào. Đổi lại, điều này sẽ giảm số giờ nhân công dành cho việc viết kịch bản mã tự động hóa, vì một khung sau khi được tạo có thể được sử dụng để tự động hóa nhiều ứng dụng

Tương tự, các khung có thể được tạo theo nhu cầu của dự án và được sử dụng cho mục đích tự động hóa

Khung lai trong tự động hóa thử nghiệm là gì?

Khung kết hợp hướng dẫn là sự kết hợp của cả khung Theo hướng dữ liệu và Theo hướng từ khóa . Trong trường hợp này, các từ khóa cũng như dữ liệu thử nghiệm được đưa ra bên ngoài. Các từ khóa được lưu trữ trong một tệp lớp Java riêng biệt và dữ liệu thử nghiệm có thể được duy trì trong tệp Thuộc tính hoặc tệp Excel.

POM có phải là một khung kết hợp không?

POM là gì? . Mẫu thiết kế này có thể được sử dụng với bất kỳ loại khung nào như khung dựa trên từ khóa, Theo hướng dữ liệu, khung kết hợp, v.v.

Khung kết hợp có được hỗ trợ bởi Selenium không?

Khung kết hợp trong Selenium. Đó là một phương pháp trong đó các nhà phát triển có thể tận dụng các lợi ích và khả năng của cả khung dựa trên từ khóa cũng như khung dựa trên dữ liệu . Nó cho phép người kiểm tra thủ công tạo các trường hợp kiểm tra đơn giản với sự trợ giúp của từ khóa, dữ liệu kiểm tra và kho lưu trữ đối tượng.

Khung Python nào được sử dụng để tự động hóa?

#1] Robot . Khung Robot phổ biến nhất là khung Kiểm thử tự động mã nguồn mở dựa trên Python. Khung này được phát triển hoàn toàn bằng Python và được sử dụng để Kiểm tra chấp nhận và phát triển theo hướng kiểm tra. Kiểu từ khóa đang được sử dụng để viết các trường hợp thử nghiệm trong khung Robot.

Chủ Đề