Upload file với Selenium trong WPF

Khóa học Selenium cơ bản đến nâng cao

0.0 (0 đánh giá)
Tạo bởi K9 Cập nhật lần cuối 12:00 20-03-2019 2.990 lượt xem 3 bình luận
Học nhanh

Danh sách bài học

Upload file với Selenium trong WPF

Dẫn nhập

Trong bài trước Kteam đã giới thiệu đến bạn cách CHANGE FRAME TRONG SELENIUM.

Ở bài này, Kteam sẽ giới thiệu tới bạn cách Upload file với Selenium trong WPF.


Nội dung

Để đọc hiểu bài này tốt nhất bạn cần:

Trong bài này, chúng ta sẽ cùng tìm hiểu những nội dung sau đây:

  • Cách upload file trong Selenium.

Cách Upload file trong Selenium

Để upload file trong Selenium chúng ta cần dùng thư viện hỗ trợ đó là AutoIT. Bản chất Selenium không thể điều khiển cái gì nằm ngoài WebBrower. Còn AutoIT thì lại chuyên dùng để làm auto game, tool, auto app. Và đặc biệt nữa là thư viện này có thư viện hỗ trợ cho C#.

Mình thử demo tại web Secufiles.com vì tìm thử thấy nó khá dễ để demo.

Để upload file ở website này tại thời điểm này thì chỉ cần 3 bước:

Bước 1: Nhấn vào chữ Upload File to bự giữa web.

Bước 2: Nhấn vào khung hiện ra sau khi làm bước 1.

Bước 3: Chọn file cần upload và nhấn Enter.

Ở bước 3, chúng ta hoàn toàn có thể paste đường dẫn file vào và nhấn Enter không cần chọn file. OpenFileDialog tự biết tìm tới đường dẫn bạn dán vào để lấy file tương ứng. Và Enter là phím mặc định cho việc upload. Lợi dụng việc này, chúng ta sẽ nhờ Selenium đi hết bước 2 và AutoIT thực hiện bước 3.

Chúng ta cần Import thư viện AutoIT vào project. Bạn có thể dùng thư viện đính kèm. Hoặc cài AutoIT trước đó rồi lấy thư viện mà dùng.

Lưu ý: Nếu có lỗi thì thử note sau

  1. Unlock file AutoITX3 (nhấp phải chọn Properties > Unlock > Ok)
  2. Theo các step này:
    • After download completes, Copy & paste it in c:\autoit\PASTE HERE (c:\autoit\AutoItX3.dll)
    • Open Command Prompt as an Adminstrator
    • In Command Prompt  > cd c:\windows\systems32 [Press Enter]
    • c:\windows\systems32 > regsvr32 c:\autoit\AutoItX3.dll [Press Enter]
    • Prompt will appear with message “registration Succeeded”

Chúng ta sẽ Import 2 file AutoITX3.dll AutoItX3.Assembly.dll.

Sau đó, dùng đoạn code mẫu này để thực hiện upload file. File data mình để sẵn trong thư mục Debug của Project mẫu. Các bạn có thể tải về chạy thử nhé!

// khởi tạo WebDriver
FirefoxDriver firefoxDriver = new FirefoxDriver();

// chuyển trang đến website secufiles.com tìm đại ở google và thấy khá dễ demo
firefoxDriver.Url = "https://secufiles.com/";
firefoxDriver.Navigate();
            
// Nhấn vào nút upload
var upload1 = firefoxDriver.FindElementByXPath("/html/body/section[1]/div/div/ul/li/div[4]/a");
// click vào nó để hiện khung drag and drop upload 2
upload1.Click();

var upload2 = firefoxDriver.FindElementById("initialUploadSection");
// click vào nó để hiẹn dialog chọn file
upload2.Click();

Thread.Sleep(TimeSpan.FromSeconds(3));

// khởi tạo đối tượng autoIT để dùng cho C# -> nhờ nó send key click chuột dùm cái ở ngoài web browser
AutoItX3 autoIT = new AutoItX3();

// đưa title của cửa sổ File upload vào chuỗi. 
// Cửa sổ hiện ra có thể có tiêu đề là File Upload hoặc Tải lên một tập tin
// lấy ra cửa sổ active có tiêu đề như dưới
autoIT.WinActivate("File Upload");

// file data nằm trong thư mục debug
// gửi link vào ô đường dẫn
autoIT.Send(Application.Current.StartupUri + "//Kteam Data Upload.txt");
Thread.Sleep(TimeSpan.FromSeconds(1));
// gửi phím enter sau khi truyền link vào
autoIT.Send("{ENTER}");

Các bạn tự mình chạy và xem kết quả nhé!


Kết luận

Qua bài này, các bạn đã biết cách Upload file trong Selenium như thế nào.

Qua serial Selenium cơ bản đến nâng cao này, hy vọng đã giúp các bạn phần nào trong việc tạo những tool tự động cho các Website. Hãy chia sẻ & ủng hộ các CHIẾN DỊCH khác tại trang yêu cầu của HowKteam.com 

Cảm ơn bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó!


Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Upload file với Selenium trong WPF dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên likeshare để ủng hộ Kteam và tác giả nhé!

Project

Nếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Nội dung bài viết

Tác giả

K9

Nhà sáng lập Howkteam.com & tác giả các khóa học C#, Auto, Unity3D, Python....

Với mong muốn mang đến kiến thức chất lượng, miễn phí cho mọi người, với tâm huyết phá bỏ rào cản kiến thức từ việc giáo dục thu phí. Tôi đã cùng đội ngũ Kteam đã lập nên trang website này để thế giới phẳng hơn.
Hãy cùng chúng tôi lan tỏa kiến thức đến cộng đồng! 

Khóa học

Khóa học Selenium cơ bản đến nâng cao

Serial này dành cho các bạn muốn học, tìm hiểu về lập trình tools (chương trình tự động) tạo account google, facebook, tools tự động offer, tool tự động mua coin ICO, và nhiều tool tự động khác tùy theo nhu cầu riêng.

Về mặt cơ bản, cấu trúc selenium rất đơn giản nên những người không rành code cũng có thể thao tác. Tuy nhiên để tạo ra các sản phẩm hoàn chỉnh, có chức năng ổn thì cần kiến thức lập trình cơ bản, HTML, CSS và JavaScript…

Trong khóa học này Kteam sẽ giới thiệu đến các bạn một công cụ mạnh mẽ giúp bạn tạo ra các Script tự động thao tác với Web browers – Đó chính là Selenium

Thông qua khóa học LẬP TRÌNH SELENIUM, Kteam sẽ hướng dẫn các bạn những thao tác cơ bản với Selenium. Bạn hoàn toàn có thể kết hợp Selenium và các code C#, Java, Python hay ngôn ngữ lập trình khác mà Selenium có thư viện hỗ trợ, để tạo ra một tổ hợp thao tác kinh khủng khiếp cho tool của bạn.

Đánh giá

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
hosting.nongdanit đã bình luận 19:09 08-03-2018

Mình có 1 project sử dụng upload ảnh. Sau khi upload ảnh thì site mới hiển thị nút submit. Bạn có thể hướng dẫn mình cách nào để đợi nút submit xuất hiện thì ấn vào luôn không? Code của mình hiện đang bị lỗi đoạn này do sau khi ấn upload thì nó không thể tìm thấy nút submit. Cảm ơn bạn

Không có video.