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
- Chạy lệnh này trong powershell
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
- Chạy lệnh này trên terminal để cài đặt homebrew
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
- Chạy các lệnh sau để cài đặt allure trên linux
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
- Thư viện chức năng
- Bảng Excel để lưu trữ Từ khóa
- Mẫu trường hợp thử nghiệm thiết kế
- Kho lưu trữ đối tượng cho các phần tử/bộ định vị
- 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 allure0
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