Làm cách nào để tự động xác minh email trong Selenium Python?

Mặc dù việc học Selenium chắc chắn có thể là một thách thức trong quá trình chuyển đổi từ thủ công sang tự động hóa, nhưng hãy bắt đầu từ việc nhỏ và nỗ lực học liên tục sẽ giúp bạn trở nên thành thạo ngay lập tức

CrossBrowserTesting muốn giúp nhóm của bạn bắt đầu với thử nghiệm tự động, đó là lý do tại sao chúng tôi tạo hướng dẫn Selenium 101 để dạy cho bạn những điều cơ bản. Cuối cùng, mọi nhóm phần mềm sẽ muốn bạn viết kịch bản kiểm tra cho họ

Đối với phần đầu tiên của loạt bài này, chúng tôi sẽ bắt đầu ngay từ đầu bằng cách chỉ cho bạn cách tự động hóa quy trình đăng nhập đơn giản với Selenium bằng Python [vì đây là một trong những ngôn ngữ lập trình dễ học nhất đầu tiên]

Bạn sẽ muốn cài đặt Python, Chrome Driver và Selenium trước khi bắt đầu. ChromeDriver sẽ có dạng thực thi [Windows] hoặc nhị phân [Mac/Unix]. Những chi tiết kỹ thuật đó bây giờ không còn quá quan trọng, nhưng bạn sẽ cần chính tệp đó. Bạn có thể tải bản phát hành ChromeDriver mới nhất tại đây. Sử dụng lệnh sau để thêm thư viện Selenium vào Python

pip install selenium

Bạn cũng sẽ cần nhập một số mô-đun cụ thể từ thư viện Selenium của Python. Ở mức tối thiểu, bạn sẽ cần phải làm như sau

from selenium import webdriver

Cuối cùng, chúng ta cần thực sự bắt đầu một webdriver. Chúng tôi có thể làm như vậy chỉ với một dòng mã

# if chromedriver is not in your path, you’ll need to add it here

trình điều khiển = webdriver. Trình duyệt Chrome[]

Bây giờ, chúng ta có thể bắt đầu tự động hóa một tác vụ đơn giản như biểu mẫu đăng nhập trang web của bạn. Về cơ bản những gì chúng tôi muốn làm là điều hướng đến trang web, tìm trường tên người dùng và mật khẩu, nhập thông tin đăng nhập của bạn và gửi chúng để vượt qua màn hình đăng nhập của bạn. Bạn cũng có thể muốn xác định một “phương thức” [thứ mà bạn có thể gọi lặp đi lặp lại] để bạn có thể sử dụng lại nó trong các thử nghiệm khác. Nó sẽ giống như thế này

def site_login[]:
driver.get [“URL”]

tài xế. find_element_by_id[“ID”]. send_keys[“tên người dùng”]

tài xế. find_element_by_id [“ID”]. send_keys[“mật khẩu”]

tài xế. find_element_by_id[“gửi”]. nhấp chuột[]

Ví dụ: nếu chúng tôi tự động đăng nhập Facebook, nó sẽ giống như thế này

def fb_login[]:
driver.get [“//www.facebook.com”]

tài xế. find_element_by_id[“email”]. send_keys['fakeemail@crossbrowsertesting. com’]

tài xế. find_element_by_id["vượt qua"]. send_keys[“mật khẩu giả1”]

tài xế. find_element_by_id[“nút đăng nhập”]. nhấp chuột[]

Có nhiều cách để định vị các thành phần trong ứng dụng web của bạn nhằm tìm các trường tên người dùng và mật khẩu và một số cách có thể không phải lúc nào cũng có sẵn cho bạn tùy thuộc vào cách trang web của bạn được viết. Bạn có thể tìm các phần tử theo ID, như chúng tôi đã minh họa, nhưng bạn cũng có thể định vị chúng theo tên, XPath, Bộ chọn CSS, v.v. Để đọc về các cách khác nhau để xác định vị trí các phần tử trong quá trình đăng nhập của bạn, hãy đọc tài liệu chính thức của Selenium

Một số trang sử dụng nội dung động [có nghĩa là nhiều JavaScript. ]. Để xử lý việc này một cách hiệu quả, đôi khi chúng ta cần đợi một sự kiện nào đó xảy ra. Để kiểm tra và đảm bảo rằng đăng nhập thành công, bạn có thể muốn xác định vị trí một thành phần trên trang mà bạn truy cập sau biểu mẫu đăng nhập bằng cách sử dụng lệnh chờ. Chúng tôi sẽ cần thêm một vài thành phần từ thư viện Selenium. Với cùng một ví dụ, bạn có thể làm điều đó bằng cách định vị một phần tử như thế này

from selenium.webdriver.support import expected_conditions as EC

từ selen. webdriver. phổ thông. bằng cách nhập khẩu Bằng cách

từ selen. webdriver. ủng hộ. giao diện người dùng nhập WebDriverWait WebDriverWait[trình điều khiển, 10]. cho đến khi [EC. title_contains["nhà"]]

Đoạn mã trên sẽ đợi tối đa 10 giây trong khi cố gắng tìm nút “Trang chủ” được hiển thị khi bạn đăng nhập Facebook lần đầu. Một lần nữa, có một số cách khác nhau để thực hiện điều này, bao gồm chờ một phần tử có thể nhấp, hiển thị hoặc hiển thị trên trang. Bạn có thể đọc về điều ấy nhiều hơn tại đây

Ở đó bạn có nó; . Hãy xem phần còn lại của loạt bài Selenium 101 của chúng tôi để tiếp tục hành trình trở thành chuyên gia kiểm thử tự động

Selenium là một công cụ tự động mã nguồn mở được sử dụng rộng rãi và phổ biến trong ngành kiểm thử tự động bởi các nhà phát triển. Như bất cứ nơi nào chúng tôi tìm kiếm về công cụ tự động hóa để kiểm tra bất kỳ ứng dụng nào chạy trên trình duyệt web, Selenium đứng đầu cùng với JAVA thậm chí nó còn hỗ trợ rất nhiều ngôn ngữ khác như ** JAVA, C#, Python, Ruby, Pearl, JavaScript, PHP**

Chúng tôi chủ yếu gặp sự cố với các dự án gửi thư trong đó một số trường hợp thử nghiệm tự động hóa yêu cầu xác minh email, kiểm tra email chào mừng, OTP để đăng nhập, xác thực đa yếu tố trên email để đăng nhập, v.v. Đôi khi chúng tôi được yêu cầu kiểm tra nội dung thư hoặc chỉ để xác minh email đã nhận hay chưa. Vì các ứng dụng/dự án chính hoạt động với các tính năng địa chỉ email duy nhất và bắt buộc phải kiểm tra email trước khi truy cập ứng dụng, nên các vấn đề của chúng ta bắt đầu với logic tự động hóa làm cách nào để xử lý tính năng thư một cách linh hoạt?

Trong bài viết này, chúng ta sẽ thảo luận về Dịch vụ email dùng một lần có tên Mail7. io đã phát triển một công cụ Kiểm tra quy trình làm việc qua email đầu tiên dành cho Nhà phát triển và Người kiểm tra phần mềm. Dịch vụ này cho phép nhận email tại địa chỉ tạm thời tự hủy sau 24h. Với sự trợ giúp của Mail7. io, chúng tôi có thể dễ dàng tự động hóa quy trình xác minh email của bất kỳ ứng dụng nào

Ở đây tôi đang trình bày Dịch vụ Mail7 bằng cách sử dụng Selenium và JAVA với các bước được đề cập bên dưới. - [PS Tôi giả định rằng bạn khá quen thuộc với Selenium và JAVA]

1. Khám phá API của Mail7 và biết nó hoạt động như thế nào. -

Bộ sưu tập Mail7 Apis có Nhận Email, Email Đơn và Xóa Email Apis. Đối với việc sử dụng của chúng tôi, chỉ yêu cầu Nhận API Email để xác thực quy trình làm việc email

Được. https. //api. thư7. io/hộp thư đến

API này sẽ cho phép bạn gửi yêu cầu tương tự và truy xuất email bao gồm cả tệp đính kèm đã nhận được trong địa chỉ email được cung cấp

Get Email API truy xuất các email chỉ có một id riêng tại một thời điểm. Đối với điều này, các tham số Yêu cầu sẽ là Khóa API, Bí mật API, Tên người dùng và Phản hồi miền sẽ nhận được ở định dạng JSON để trích xuất nội dung thư

________số 8_______

**Response Data :**
{
"status": "success",
"data": [
{
"_id": "5e393141dab117001799a5d1",
"to_username": "{{username}}",
"to_domain": "{{hostname}}",
"mail_source": {
"attachments": [],
"headers": {.....},
"headerLines": [{....}],
"html": "Email Message\n",
"text": "Email Message\n",
"textAsHtml": "Email Message",
"subject": "Subject",
"date": "2020-02-04T08:54:12.000Z",
"to": {
"value": [{
"address": "{{username}}@{{hostname}}",
"name": ""
}],
"html": "{{username}}@{{hostname}}",
"text": "{{username}}@{{hostname}}"
},
"from": {
"value": [{
"address": "{{from_email_address}}",
"name": "{{from_username_address}}"
}],
"html": "{{from_username_address}} ",
"text": "{{from_username_address}} "
},
"messageId": ""
},
"is_deleted": false,
"is_read": true,
"sender_time": "2020-02-04T08:54:25.711Z"
}]}

2. Viết logic của getEmail trong lớp chức năng chung và thêm các phụ thuộc vào pom. tập tin xml

 

com.mashape.unirest

unirest-java

1.4.9

Chúng tôi sẽ sử dụng Unirest để xử lý mã API Mail7. nó là một tập hợp các thư viện HTTP nhẹ có sẵn bằng nhiều ngôn ngữ, được xây dựng và duy trì bởi Mashape, người cũng duy trì Cổng API mã nguồn mở Kong

Tạo thư7. tệp java với mã bên dưới

import org.apcahe.commons.lang3.RandomStringUtils;

public class mail7{

private static final String EMAIL-DOMAIN = ‘mail.io’;
private static final String EMAIL_APIKEY = ‘mail7_api_key’;
private static final String EMAIL_APISecret = ‘mail7_api_secret’;
private String emailid;

public usernameGenerator[]{

String username = RandomStringUtils.randomAlphanumeric[8].toLowerCase[];
System.out. println[“Random Username is ” + username];
return username;
}

public getInbox[String username]{

HttpResponse  httpResponse = Unirest.get[“"//api.mail7.io/inbox?apikey=" + EMAIL_APIKEY + "&apisecret=" + EMAIL_APISecret + "&to=" + username”]
.asString[];
System.out.println[ httpResponse.getHeaders[].get["Content-Type"]];
System.out.println[httpResponse.getBody[]];
return httpResponse.getBody[];

}

3. Tạo một tệp lớp cho Tập lệnh kiểm tra sự kiện Đăng ký và Đăng nhập

import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import java.util.List;
import java.util.concurrent.TimeUnit;  

public class TestEmail throws IOException, UnirestException
{

public static void main[String[] args] {

//create a Selenium WebDriver instance
System.setProperty["webdriver.gecko.driver","dir_path\\geckodriver.exe"];
WebDriver driver = new FirefoxDriver[];

//launch the Firefox browser and navigate to the website
driver.get[“YOUR_TEST_URL"];

//puts an implicit wait for 10 seconds before throwing exceptions
driver.manage[].timeouts[].implicitlyWait[10, TimeUnit.SECONDS];

//locate the email field
WebElement email = driver.findElement[By.xpath["//input[@type='email']"]];

// create a random email address

String username = usernameGenerator[];

String emailID = username.concat[“@”+EMAIL_DOMIAN];

//set the field's value
email.sendKeys[emailID];

//locate the password field
WebElement password = driver.findElement[By.xpath["//input[@type='password']"]];

//set the password's value
password.sendKeys["password"];

//locate and click the submit button
driver.findElement[By.xpath["//input[@type='submit']"]].click[];

//check if the mail has been received or not
String response = getInbo[username ];

if[response.isEmpty[]] {
System.out.println["Test not passed"];
}else {
System.out.println["Test passed"];
}

//close the Firefox browser.
driver.close[];
}
}
}
}

Phần kết luận. Tái bút, đây là logic để tự động xác minh email trong Selenium mà không gặp rắc rối. Với dịch vụ Mail7, bạn có thể truy cập nội dung thư đã gửi và trích xuất văn bản, tệp đính kèm một cách tự động, giúp kiểm tra xem ứng dụng email của bạn có hoạt động như mong muốn hay không

Đáng chú ý, Mail7 cung cấp cho bạn một nền tảng thử nghiệm mạnh mẽ để xác thực các chức năng của email trước khi phân phối chúng cho người dùng thực. Bạn nên kiểm tra thử ngay hôm nay

Làm cách nào để tự động xác minh email trong Selenium?

Selenium là một công cụ mã nguồn mở phổ biến để tự động kiểm thử phần mềm. Với Selenium WebDriver, bạn có thể kiểm tra các ứng dụng web trên nhiều nền tảng và trình duyệt khác nhau. .
tổ chức. openqa. selen. .
tổ chức. openqa. selen. .
java. sử dụng. .
java. sử dụng

Làm cách nào để tự động hóa mã xác minh trong Selenium?

Tự động đăng nhập bằng Selenium Webdriver. Hướng dẫn .
Tạo một phiên bản Selenium WebDriver
Cấu hình trình duyệt Web
Điều hướng đến URL web
Định vị phần tử web
Thực hiện hành động trên phần tử web được định vị
Xác minh và xác thực hành động

Làm cách nào để kiểm tra email trong Selenium?

Trường hợp tình huống – Kiểm tra email HTML với lưới Selenium trực tuyến .
Email HTTP – Đăng ký trên LambdaTest bằng địa chỉ email Mailtrap, sau đó xác nhận việc tạo tài khoản trên LambdaTest bằng cách đọc 'khóa xác nhận' từ email
Email SMTP – Gửi nội dung của email đăng ký LambdaTest bằng cài đặt Mailtrap SMTP

Làm cách nào để xác minh thông tin đăng nhập trong Selenium WebDriver Python?

Các bước sau sẽ được thực hiện bằng Python và Selenium. .
Nhập thư viện
Tạo biến cho thông tin đăng nhập
Cài đặt trình điều khiển web
Khởi chạy Trình duyệt và Mở URL
Nhập thông tin đăng nhập và đăng nhập
Xác minh trạng thái đăng nhập

Chủ Đề