Làm cách nào để sử dụng các khóa đặc biệt trong Selenium Python?

Tôi đã thêm hỗ trợ các phím đặc biệt vào lệnh sendKeys trong Selenium IDE v2. 3. 0. Không chỉ phát lại bình thường mà còn phát lại Webdriver. Cùng với điều này, tôi đã thêm hỗ trợ các phím đặc biệt cho tất cả các trình định dạng được hỗ trợ chính thức cho Java, Ruby, Python và C#. Và cả trình định dạng Perl Webdriver. Có, trình định dạng Perl Webdriver, nó tồn tại và sẽ sớm được phát hành. Nó không chính thức, nhưng tôi sẽ duy trì nó ở cấp độ của các trình định dạng được hỗ trợ chính thức khác. chờ nó

Để biến tất cả những điều này thành có thể, tôi đã phải đưa ra một chiến lược hoạt động hiệu quả với tất cả các cách sử dụng sendKey khác nhau này. Sử dụng các phím đặc biệt trong sendKeys thực sự đơn giản. Bạn sử dụng nó như một biến được lưu trữ thông thường với tiền tố “KEY_” đặc biệt. Ví dụ: để nhấn phím ENTER, bạn sẽ viết KEY_ENTER dưới dạng một biến, i. e. ${KEY_ENTER}

sendKeys | id=search | ${KEY_ENTER}

Kết hợp văn bản và phím Enter

Kết hợp văn bản bình thường với các phím đặc biệt thực sự đơn giản. Đơn giản, nhúng khóa đặc biệt vào văn bản, tôi. e. phô mai${KEY_ENTER}

sendKeys | id=search | cheese${KEY_ENTER}

Lệnh trên sẽ gõ pho mát vào hộp tìm kiếm và nhấn phím enter, khiến nó tìm kiếm

Sử dụng phím Shift

Phím shift và phím mũi tên thường hữu ích để chọn văn bản. Để nhấn phím shift và phím trái, bạn có thể sử dụng chúng như thế này

sendKeys | id=search | gx${KEY_SHIFT}${KEY_LEFT}${KEY_SHIFT}o

Trong lệnh trên, shift đầu tiên sẽ nhấn nó, sau đó nhấn phím trái rồi nhả shift, kết quả là văn bản đi trong trường tìm kiếm

Sử dụng phím điều khiển

Cách sử dụng phím điều khiển cũng giống như phím shift. Để nhấn phím điều khiển và phím trái, mà trên một số trình duyệt và nền tảng có nghĩa là chuyển đến phần đầu của văn bản trong trường, bạn có thể thực hiện việc này

sendKeys | id=search | o${KEY_CTRL}${KEY_LEFT}${KEY_CTRL}g

Trong lệnh trên, điều khiển đầu tiên sẽ nhấn nó, sau đó nhấn phím trái rồi nhả điều khiển, kết quả lại là văn bản đi vào trường tìm kiếm

Sử dụng phím Meta/Command

Trên bàn phím máy Mac, bạn có phím lệnh hoặc phím meta, phím này lại được sử dụng giống như phím shift hoặc phím điều khiển

Tại sao phím Tab không hoạt động?

Lệnh sendKeys gửi các khóa đến một trường trên trang web. Một số trình duyệt chặn một số khóa nhất định ngay cả trước khi chúng đến trường. Chúng bao gồm các phím tăng tốc menu và đôi khi là các phím như tab. Ở chế độ phát lại thông thường, Selenium IDE sử dụng các nguyên tử Selenium cho sendKeys. Mặc dù điều này mang lại nhiều chức năng hơn, nhưng nó không giống như cách nhấn các phím nguyên bản. Tuy nhiên, phát lại trình điều khiển web hỗ trợ điều này trong một số trường hợp nhất định. Vì vậy, bạn có thể thấy một thử nghiệm cố gắng gửi phím tab hoạt động khi phát lại Webdriver và không hoạt động khi phát lại thông thường

Tại sao sự kết hợp của tôi không hoạt động?

Trước tiên hãy đọc phần về 'Tại sao phím tab không hoạt động?'. Sẽ có những kết hợp không hoạt động. Nếu bạn cho tôi biết, tôi có thể điều tra và cố gắng đưa ra lời giải thích về nó hoặc ghi lại nó để nhiều người biết hơn về những gì hiệu quả và không hiệu quả

Phần 2 cung cấp danh sách đầy đủ tất cả các phím đặc biệt được hỗ trợ

 

Sử dụng các phím đặc biệt trong Selenium IDE – Phần 2

Đăng vào ngày 25 tháng 9 năm 2013 bởi Samit Badle

Trong phần 1, chúng ta đã thấy cách sử dụng các phím đặc biệt trong lệnh sendKeys trong Selenium IDE bắt đầu từ v2. 3. 0. Selenium IDE v2. 4. 0 rút gọn một số tên chính. Bài đăng này phục vụ như một tài liệu tham khảo nhanh và cung cấp danh sách đầy đủ tất cả các phím đặc biệt được hỗ trợ và một số ghi chú. Nếu có hai tùy chọn được đưa ra, bạn có thể sử dụng một trong hai tùy chọn đó

Sử dụng các phím đặc biệt

Các khóa đặc biệt được triển khai dưới dạng các biến được lưu trữ. Bạn sử dụng chúng tương tự như cách bạn sử dụng các phím đặc biệt. Tôi. e. đính kèm chúng trong ${}, e. g

${KEY_ENTER}

Nếu bạn muốn sử dụng nhiều hơn một khóa đặc biệt, mỗi khóa cần được đặt trong ${}, e. g

${KEY_LEFT}${KEY_BKSP}

Bạn có thể trộn và kết hợp văn bản thông thường và các phím đặc biệt theo ý muốn. e. g

Everybody loves chese${KEY_LEFT}${KEY_LEFT}e

Hãy nhớ rằng bạn không nên tạo các biến được lưu trữ có cùng tên với các khóa đặc biệt trong các thử nghiệm của mình. Bạn không nên tạo bất kỳ biến được lưu trữ nào bắt đầu bằng tiền tố KEY_

Sử dụng các phím bổ trợ

Lần xuất hiện đầu tiên của phím bổ trợ nhấn chúng và lần thứ hai giải phóng nó. Nếu một phím bổ trợ được sử dụng nhiều hơn hai lần, thì sẽ dễ dàng nghĩ rằng các lần lẻ là các lần nhấn và các lần chẵn là các lần nhả. Tất cả các phím bổ trợ được giải phóng ở cuối lệnh sendKeys và sẽ không ảnh hưởng đến lệnh sendKeys tiếp theo

Các phím bổ trợ được hỗ trợ

  • KEY_ALT
  • KEY_CONTROL / KEY_CTRL
  • KEY_META / KEY_COMMAND
  • KEY_SHIFT

Các phím chung được hỗ trợ

  • KEY_BKSP / KEY_BACKSPACE
  • KEY_DEL / KEY_DELETE
  • KEY_ENTER
  • KEY_EQUALS
  • KEY_ESC / KEY_ESCAPE
  • KEY_INS / KEY_INSERT
  • KEY_PAUSE
  • KEY_SEMICOLON
  • KEY_SPACE
  • KEY_TAB

Phím điều hướng được hỗ trợ

  • KEY_LEFT
  • KEY_UP
  • KEY_RIGHT
  • KEY_DOWN
  • KEY_PGUP / KEY_PAGE_UP
  • KEY_PGDN / KEY_PAGE_DOWN
  • KEY_END
  • KHÓA_HOME

Các phím số được hỗ trợ

  • KEY_NUMPAD0 / KEY_N0
  • KEY_NUMPAD1 / KEY_N1
  • KEY_NUMPAD2 / KEY_N2
  • KEY_NUMPAD3 / KEY_N3
  • KEY_NUMPAD4 / KEY_N4
  • KEY_NUMPAD5 / KEY_N5
  • KEY_NUMPAD6 / KEY_N6
  • KEY_NUMPAD7 / KEY_N7
  • KEY_NUMPAD8 / KEY_N8
  • KEY_NUMPAD9 / KEY_N9
  • KEY_ADD / KEY_NUM_PLUS
  • KEY_DECIMAL/ KEY_NUM_PERIOD
  • KEY_DIVIDE/ KEY_NUM_DIVISION
  • KEY_MULTIPLY/ KEY_NUM_MULTIPLY
  • KEY_SEPARATOR/ KEY_SEP
  • KEY_SUBTRACT/ KEY_NUM_MINUS

Các phím chức năng được hỗ trợ

  • KHÓA_F1
  • KHÓA_F2
  • KHÓA_F3
  • KHÓA_F4
  • KHÓA_F5
  • KHÓA_F6
  • KHÓA_F7
  • KHÓA_F8
  • KHÓA_F9
  • KHÓA_F10
  • KHÓA_F11
  • KHÓA_F12

Tương lai của các phím đặc biệt

Mặc dù tôi nghĩ rằng tính năng này đã hoàn thành, nhưng tôi có một số ý tưởng khác có thể làm cho tính năng này trở nên tốt hơn. Ý tưởng đầu tiên là giới thiệu các dạng ngắn hơn cho các khóa thường được sử dụng. Ý tưởng thứ hai là cung cấp một cách để chỉ định số lần nhấn một phím. Nếu không có bất kỳ phản hồi nào về việc có bao nhiêu người thực sự sử dụng ứng dụng này, sẽ rất khó để ưu tiên những cải tiến này. Vì vậy, hãy để lại nhận xét, gửi cho tôi một tweet, liên lạc

Làm cách nào để sử dụng các khóa trong Selenium Python?

Mô-đun Python của Selenium được xây dựng để thực hiện kiểm thử tự động với Python. Phím Đặc biệt là một tính năng độc quyền của Selenium trong python, cho phép nhấn các phím thông qua bàn phím như ctrl+f hoặc shift+c+v, v.v. . lớp selen. webdriver.

Làm thế nào để sử dụng phím xuống trong Selenium?

Chúng ta có thể nhấn giữ phím với Selenium webdriver. Chúng tôi chủ yếu sử dụng các phím CONTROL/SHIFT/ALT để giữ và sau đó nhấp vào các phím khác . Vì vậy, chỉ đề cập đến các phím bổ trợ như phím. ĐIỀU KHIỂN/phím.

Làm cách nào để sử dụng Send_keys trong Selenium?

Phương thức Sendkeys() của Selenium giúp tự động hoàn thành trường theo hai bước đơn giản. .
Xác định các trường đầu vào bằng cách sử dụng bộ định vị cụ thể. Ví dụ: địa chỉ email, trường mật khẩu
Nhập các giá trị vào các hộp đầu vào một cách rõ ràng bằng phương thức sendkeys()