Selenium IDE - Lệnh chờ trong 5 giây


90

Tôi đang sử dụng Selenium IDE cho Firefox và tìm kiếm lệnh chờ. Vấn đề của tôi là tôi muốn kiểm tra một trang web với bản đồ bên ngoài được nhúng. Bản đồ bên ngoài này cần 3-5 giây để tải.

Lệnh của tôi:

open /Page/mysite.html
//Wait Command? (5 seconds)
ClickAndWait link=do something

Câu trả lời:


107

Sử dụng lệnh tạm dừng và nhập số mili giây vào trường Mục tiêu.

Đặt tốc độ thành nhanh nhất (Hành động -> Nhanh nhất), nếu không nó sẽ không hoạt động.


Cảm ơn bạn! Tôi đã nhập lệnh, nhưng Selenium không dừng lại. Command = tạm dừng, giá trị gia tăng = 10000
LaPhi

53
Sử dụng Targetthay vì Value. Lệnh = Tạm dừng, Mục tiêu = 1000.
khairul

1
@Khairul rất vui vì bạn đã thêm nhận xét đó, nó khiến tôi phát điên vì tại sao pause()nó không hoạt động!
cchana

Tốc độ không ảnh hưởng đến lệnh tạm dừng, thay vào đó, @Khairul nói: Hãy đặt nó vào mục tiêu.
Mendhak 24/10/12

khi bạn tạm dừng ở phần cuối của một trường hợp thử nghiệm khi chạy một bộ kiểm tra nó sẽ không hoạt động
Alfonso Fernandez-Ocampo

85

Điều này sẽ trì hoãn mọi thứ trong 5 giây:

Lệnh: tạm dừng
Mục tiêu: 5000
Giá trị:

Điều này sẽ trì hoãn mọi thứ trong 3 giây:

Lệnh: tạm dừng
Mục tiêu: 3000
Giá trị:

Tài liệu:

http://release.seleniumhq.org/selenium-core/1.0/reference.html#pause

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây


2
Vì vậy, thiết lập 5000 trong 5 giây
Ripon Al Wasim

1
Thật điên rồ khi họ đặt mục tiêu trở thành giá trị phải chờ trong mili giây. Yêu nó. Cảm ơn bạn đã đăng bài này vì tôi thậm chí đã không cố gắng nhập giá trị vào mục tiêu.
John Z

6

Đối với những người làm việc với ant, tôi sử dụng điều này để chỉ ra thời gian tạm dừng trong 5 giây:

<tr>
    <td>pause</td>
    <td>5000</td>
    <td></td>
</tr>

Đó là, target: 5000valuetrống rỗng. Như tham chiếu chỉ ra:

tạm dừng (thời gian chờ)

Tranh luận:

  • waitTime - lượng thời gian để ngủ (tính bằng mili giây)

Chờ trong khoảng thời gian được chỉ định (tính bằng mili giây)



1

Điều này sẽ thực hiện những gì bạn đang tìm kiếm trong C # (WebDriver / Selenium 2.0)

var browser = new FirefoxDriver();
var overallTimeout = Timespan.FromSeconds(10);
var sleepCycle = TimeSpan.FromMiliseconds(50);
var wait = new WebDriverWait(new SystemClock(), browser, overallTimeout, sleepCycle);
var hasTimedOut = wait.Until(_ => /* here goes code that looks for the map */);

đừng bao giờ sử dụng Thread.Sleep vì nó làm cho các bài kiểm tra của bạn không đáng tin cậy


Lựa chọn tốt hơn nhiều trong Selenium 2.
craastad

0

Lệnh tạm dừng có thể được sử dụng trực tiếp trong id ở định dạng html.

Nếu sử dụng java hoặc C, bạn có thể sử dụng Thread.sleep (5000). Thời gian tính bằng mili giây. Các ngôn ngữ khác hỗ trợ "sleep 5" hoặc time.sleep (5). bạn có nhiều lựa chọn để chỉ đợi một thời gian nhất định.


2
Thread.Sleep không bao giờ là một ý tưởng hay và đó là lý do tại sao Selenium cung cấp các nguyên tắc chờ đợi. Nếu bạn sử dụng chúng, bạn có thể chỉ định giá trị thời gian chờ cao hơn nhiều, điều này làm cho các bài kiểm tra đáng tin cậy hơn mà không làm chậm chúng vì điều kiện có thể được đánh giá thường xuyên khi nó được yêu cầu, ví dụ: cứ sau 50ms.
Pawel Pabich

Phản hồi của tôi trong thread.sleep chỉ liên quan đến việc trả lời câu hỏi về cách làm cho nó đợi trong id. Khi tạm dừng được dịch thành thread.sleep khi bạn chuyển đổi từ html sang java hoặc c trong id.
rắn đuôi chuông,

0

Trước lệnh, hãy clickAndWaitthêm mã sau để tập lệnh sẽ đợi cho đến khi hiển thị liên kết cụ thể:

   <tr>
        <td>waitForVisible</td>
        <td>link=do something</td>
        <td></td>
    </tr>

Việc sử dụng các lệnh chờ thay vì tạm dừng hầu hết đều hiệu quả hơn và ổn định hơn.


0

Thao tác này sẽ đợi cho đến khi liên kết của bạn xuất hiện và sau đó bạn có thể nhấp vào nó.

Command: waitForElementPresent Target: link=do something Value:


0

Một cái mà tôi thấy hoạt động cho trang web tôi thử nghiệm là cái này:

waitForCondition | selenium.browserbot.getUserWindow (). $. active == 0 | 20000

Klendathu


0

Trong Chrome, đối với "Selenium IDE", tôi cũng đang đấu tranh để nó không tạm dừng. Nó sẽ tạm dừng, nếu bạn cung cấp như sau:

  • Lệnh: tạm dừng
  • Mục tiêu: trống
  • Giá trị: 10000

Điều này sẽ tạm dừng trong 10 giây.


1
Mục tiêu phải là 10000 và giá trị phải để trống
Sirmyself

Không chắc bạn đang thử plugin của trình duyệt nào nhưng điều đó hoạt động tốt với tôi trong Chrome. Cũng phụ thuộc vào tiện ích mở rộng bạn đang sử dụng.
TechSingh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.