Cách sử dụng touch vpn

Biểu tượng Ứng dụng được đặt trên thanh dấu trang. Bằng cách nhấp vào liên kết, người dùng có thể truy cập Cửa hàng trực tuyến. Trong Cửa hàng trực tuyến, bạn có thể tìm kiếm VPN. Khi bạn đã sẵn sàng sử dụng VPN, hãy nhấp vào biểu tượng VPN để thêm nó vào trình duyệt Chrome của bạn.

Khi thực hiện automation, vì yêu cầu hệ thống hay vì một vài lý do cá nhân mà chúng ta muốn thay đổi IP mỗi khi chạy automation.

Cách đơn giản nhất là set proxy trong capability cho browser, làm thế nào thì có thể tham khảo tại đây

Tuy nhiên, sử dụng proxy có hạn chế là chúng ta chỉ có thể set proxy khi khởi tạo browser [Mình đã nghĩ đến trường hợp thêm 1 list proxy rồi get random ra chạy nhưng nó vẫn là có hạn và dễ bị trùng lặp], điều này có nghĩa là chúng ta chỉ có thể sử dụng proxy cho một lần chạy, nếu chúng ta chạy data-driven, một bộ data sẽ chỉ sử dụng chung một proxy. Vậy có cách nào để thay đổi IP cho mỗi test case hay không?

Hiện nay, có một số VPN extension hỗ trợ chúng ta trong việc này, nêu có thể thực hiện nó một cách thủ công, sao không thử áp dụng nó vào automation.

Trong bài này mình sẽ sử dụng extension "Touch VPN" trên Chrome. Tuy nhiên, extension này không tự động chạy sau khi chúng ta cài đặt nó [trên UI sẽ hiển thị như vậy nhưng khi kiểm tra thì IP không thay đổi], mà extension này yêu cầu phải thao tác trên popup của extension mới có thể sử dụng được. Hãy cùng tìm hiểu về cách khởi chạy extension này hoặc các extension có yêu cầu tương tự trong bài này.

II. Hãy cùng thử thực hiện nó một cách thủ công

  1. Đầu tiên, truy cập vào trang Chrome extensions
  2. Tìm kiếm "Touch VPN"
  3. Chọn "Add to Chrome"
  4. Sau khi đã add vào Chrome, click vào button extension bên góc phải Chrome
  5. Chọn "Touch VPN - Secure and unlimited VPN proxy"
  6. Ở cửa sổ popup, click vào "Connect"
  7. Sau khi popup thay đổi sang "Encription is enabled" và hiển thị các thông số tức là đã sử dụng VPN thành công

Ở bước [3], chúng ta bắt buộc phải click vào connect mới có thể sử dụng extension này, vậy làm sao để thực hiện auto trên pop-up này. Hãy cùng mình thử cách khác để thực hiện.

III. Viết code để thực hiện các bước trên

Ở đây mình sẽ sử dụng Selenium với Java, TestNG và maven, các ngôn ngữ khác thì cách làm tương tự nhé.

1. Tải VPN extension về máy

File extension có dạng crx. Làm sao để download extension về máy thì có thể tham khảo bài viết này

Ở đây mình đã download sẵn extension này, các bạn có thể download tại đây

2. Cài đặt các thư viện cần thiết

Các thư viện bao gồm Selenium, TestNG, WebDriverManager, add các thư viện này vào file pom.xml.

Add những thư viện này như thế nào và tại sao cần nó thì tham khảo phần II trong bài trước của mình nhé

3. Tạo class để thực hiện các bước trên

  • Đầu tiên, đưa file crx vừa download ở bước [1] vào folder của dự án, ở đây mình sẽ đưa vào "main/resources/"

  • Tiếp theo, khai báo annotation @BeforeTest và cấu hình cho Chrome driver:
@BeforeTest public void beforeTest[]{ String rootFolder = System.getProperty["user.dir"]; File vpn = new File[rootFolder + File.separator + "src" + File.separator + "main" + File.separator + "resources" + File.separator + "touchVPN.crx"]; WebDriverManager.chromedriver[].setup[]; ChromeOptions chromeOptions = new ChromeOptions[]; chromeOptions.addExtensions[vpn]; driver = new ChromeDriver[chromeOptions]; driver.manage[].window[].maximize[]; driver.manage[].timeouts[].implicitlyWait[30, TimeUnit.SECONDS]; }
  • rootFolder là đường dẫn đến thư mục dự án
  • vpn là đường dẫn đến file crx vừa download phía trên mà mình đã bỏ vào "/main/resources/touchVPN.crx". Việc sử dụng File.seperator là để chúng ta có thể chạy trên nhiều OS khác nhau, vì mỗi OS khác nhau sẽ có dấu đường dẫn khác nhau [trên Linux là ""]
  • Khai báo ChromeOptions để add Extension Touch VPN
  • Khai báo implicit wait bằng 30 giây
  • Tiếp theo, viết một method @Test để thực hiện truy cập vào index page của extension, nhấn vào connect [bước 6, phần II ở trên]
@Test public void checkIPHasChanged[] throws InterruptedException { //Chờ 2s để script chạy ổn định hơn Thread.sleep[2000]; String extension_Protocol = "chrome-extension"; String extension_ID = "bihmplhobchoageeokmgbdihknkjbknd"; //Truy cập vào index page thay vì mở click vào extension để mở popup, index page sẽ có dạng extension protocol + extension ID + /panel/index.html String indexPage = extension_Protocol + "://" + extension_ID + "/panel/index.html"; //Truy cập vào index page vừa khai báo phía trên driver.get[indexPage]; //Vì khi sử dụng extension, extension sẽ tự mở một page của extension nên chúng ta cần switch lại tab đầu tiên [tab index page] //Khai báo các tabs đang mở ArrayList tabs = new ArrayList[driver.getWindowHandles[]]; //Switch về tab đầu tiên driver.switchTo[].window[tabs.get[0]]; //Click vào nút connect driver.findElement[By.id["ConnectionButton"]].click[]; //Truy cập vào "//whatismyipaddress.com/" để kiểm tra IP đã đổi hay chưa driver.get["//whatismyipaddress.com/"]; //Switch về tab đầu tiên [whatismyipaddress.com] vì extension tự mở tab mới của extension driver.switchTo[].window[tabs.get[0]]; //Kiểm tra thông tin Country ở trang này không còn là Vietnam nữa [tức là IP đã được đổi] String countryName = driver.findElement[By.xpath["//span[text[]='Country:']/following-sibling::span"]].getText[]; Assert.assertFalse[countryName.equals["Vietnam"]]; }
  • Chúng ta không thể thực hiện auto cho pop-up khi click vào extension rồi nhấn connect, vì vậy ở đây chúng ta truy cập vào index page của extension đó thay vì click vào extension. index page sẽ có dạng extension protocol + extension ID + /panel/index.html
  • extension ID lấy ở đâu? extension ID có thấy lấy từ Chrome Extension page
  • Sau khi khởi tạo browser với extension, extension sẽ tự khởi tạo một page của extension, vì vậy chúng ta phải switch về lại page muốn thao tác, ở đây là index page và "//whatismyipaddress.com/"
  • Sau khi truy cập vào "//whatismyipaddress.com/", kiểm tra nếu như country không phải Vietnam, tức là chúng ta đã thay đổi IP thành công, IP đang sử dụng đã không còn ở Vietnam nữa
@AfterTest public void afterTest[]{ driver.quit[]; }

Nếu chúng ta đặt step này trước mỗi test case, sẽ có thể thay đổi IP [sử dụng VPN] cho từng test cases. Cách này tuy sẽ tốn thời gian hơn nhưng sẽ xử lý được vấn đề.

IV. Kết

Tất nhiên việc sử dụng proxy chỉ là hy hữu, truy nhiên, chúng ta có thể tham khảo việc truy cập index page của extension cho các extension khác yêu cầu click vào icon để có thể thao tác, vì không phải extension nào cũng chỉ cần cài đặt là có thể sử dụng ngay được.

Hy vọng bài viết này sẽ giúp ích cho bạn khi các bạn gặp các vấn đề tương tự

Referencies: //github.com/npmtam/Automation-Testing-Articles/issues/3

Tại sao lại chạm VPN

? Touch VPN miễn phí 100%, không giới hạn, bảo mật và siêu dễ sử dụng. Bạn có thể kết nối với bất kỳ máy chủ nào bên dưới [Thụy Điển, Vương quốc Anh, Đan Mạch, Pháp, Hoa Kỳ, Hà Lan và Canada] để tận hưởng sự riêng tư và tự do trực tuyến không giới hạn. Với Touch VPN, bạn có thể

? Truy cập bất kỳ trang web ở bất kỳ nước nào. Bỏ qua các giới hạn địa lý để bỏ chặn bất kỳ trang web nào cho dù bạn ở đâu! Truy cập vào các trang web bị chặn hoặc kiểm duyệt bởi chính phủ, trường học hoặc nơi làm việc. Trốn tường lửa để bỏ chặn Facebook, xem YouTube và phá vỡ các giới hạn VOIP. Chạm vào VPN mở khóa tất cả với ứng dụng VPN miễn phí

? Bảo vệ dữ liệu của bạn khỏi tin tặc. Khi bạn được kết nối với Điểm truy cập Wi-Fi công cộng, tên, mật khẩu và thông tin cá nhân của bạn có thể dễ dàng bị xâm phạm. Touch VPN mã hóa dữ liệu của bạn và cung cấp cho bạn bảo mật cấp ngân hàng để bảo vệ tốt nhất.

? Touch VPN là một dịch vụ Proxy VPN chỉ bằng một cú nhấp chuột. Touch VPN chỉ chứa một nút. Nút kết nối bạn với một trong nhiều máy chủ ẩn danh với tốc độ nhanh hơn proxy web. Khi bạn không chạy ứng dụng của chúng tôi, chúng tôi sẽ giúp bạn tiết kiệm pin cho thiết bị của mình. Và, chúng tôi là một VPN hoàn toàn không giới hạn và miễn phí!

? Lướt web ẩn danh. Tránh bị ISP rình mò và ngăn các trang web theo dõi và nhắm mục tiêu quảng cáo. Touch VPN thay đổi địa chỉ IP của bạn, vì vậy danh tính trực tuyến của bạn là ẩn danh và hoạt động internet của bạn không thể truy cập được vào mắt tò mò và doanh nghiệp.

  • Tại Psiphon, chúng tôi cam kết Internet mở và có thể truy cập. Mã nguồn mở Psiphon là phiên bản độc lập của phần mềm Psiphon có sẵn để tải xuống miễn phí cho bất kỳ ai. Chạy máy chủ của riêng bạn, mời bạn bè của bạn, xây dựng một cộng đồng, cung cấp…

    Mở khóa Pdf Ẩn IP của bạn Tích hợp Google Drive Chống độc

  • Giấu Ass của tôi! Pro VPN - Dịch vụ VPN cao cấp của thế giới - Chúng tôi cung cấp cho bạn quyền truy cập vào mạng VPN lớn nhất thế giới. - Chúng tôi có nhiều máy chủ ở nhiều quốc gia hơn bất kỳ ai khác - mang đến cho bạn kết nối VPN tốt nhất có thể.…

    VPN Giảm sử dụng dữ liệu di động Hỗ trợ proxy

  • VyprVPN là một cách nhanh chóng và an toàn để duyệt web. VyprVPN thay thế địa chỉ IP thực của bạn bằng địa chỉ IP từ một trong nhiều cụm máy chủ VPN trên toàn thế giới của họ bảo vệ quyền riêng tư của bạn khi trực tuyến. Tất cả các gói bao gồm VyprD…

  • TRUY CẬP INTERNET RIÊNG TƯ cung cấp bảo mật hiện đại, đa lớp với bảo vệ quyền riêng tư nâng cao bằng cách sử dụng đường hầm VPN. Vui lòng nhấp vào Lớp bảo mật được tìm thấy ở cột bên phải để tìm hiểu thêm về từng lớp riêng lẻ. Các dịch vụ của chúng …

    VPN Không theo dõi Nhẹ Ẩn IP của bạn Trình chặn ứng dụng

  • GNUnet là một khuôn khổ cho mạng ngang hàng an toàn không sử dụng bất kỳ dịch vụ tập trung hoặc đáng tin cậy nào khác. Một dịch vụ đầu tiên được triển khai trên lớp mạng cho phép chia sẻ tệp chống kiểm duyệt ẩn danh. Tính ẩn danh được cung cấp bằng …

    Ngang ngang hàng Mạng lưới Phân phối Phân cấp Sao lưu

  • Hạn ngạch tài khoản miễn phí là 10 GB và sẽ được đặt lại mỗi tháng. Tại sao bạn nên sử dụng ZPN? Bảo vệ danh tính của bạn Ẩn địa chỉ IP của bạn với VPN mạnh ZPN và tạo rào cản giữa bạn và các trang đã truy cập. Vị trí và thông tin của bạn ẩn từ các …

    VPN Lướt ẩn danh Chống độc

Video liên quan

Chủ Đề