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

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

Upload file với Selenium trong WPF Upload file với Selenium trong WPF Upload file với Selenium trong WPF Upload file với Selenium trong WPF Upload file với Selenium trong WPF 5/5 (15 reviews)

Upload file với Selenium trong WPF

Đã đăng 2017-12-31 14:39:13 bởi Kteam
2 bình luận 2158 lượt xem
Upload file với Selenium trong WPF 5 /5 stars (1 reviews)
 

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é!


Project tham khảo

Nếu quá trình thực hành của bạn không diễn ra suôn sẻ như bài hướng dẫn thực hiện, bạn có thể tham khảo Project mẫu của Kteam trong link bên dưới hoặc để lại BÌNH LUẬN để được hỗ trợ nhé!

Đừng quên like hoặc +1 Google để ủng hộ Kteam và tác giả 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 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 like hoặc +1 Google để ủng hộ Kteam và tác giả nhé! 


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. 

 

Chia sẻ:
Thảo luận Hỏi và đáp Báo lỗi bài viết
Hủy bỏ   hoặc  
Upload file với Selenium trong WPF
hosting.nongdanit 2018-03-08 19:09:33

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

0 bình chọn
Reply
View all 1 comments
Kteam - Howkteam Free Education
K9 2018-03-20 02:28:11
change frame bạn
0 bình chọn
Reply
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  

Chiến dịch

Kteam - Howkteam Free Education