Selenium IDE - คำสั่งรอ 5 วินาที


90

ฉันใช้ Selenium IDE สำหรับ Firefox และค้นหาคำสั่ง wait ปัญหาของฉันคือฉันต้องการทดสอบเว็บไซต์ที่มีแผนที่ภายนอกในตัว แผนที่ภายนอกนี้ใช้เวลาโหลด 3-5 วินาที

คำสั่งของฉัน:

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

คำตอบ:


107

ใช้คำสั่งหยุดชั่วคราวและป้อนจำนวนมิลลิวินาทีในฟิลด์เป้าหมาย

ตั้งค่าความเร็วเป็นเร็วที่สุด (การดำเนินการ -> เร็วที่สุด) มิฉะนั้นจะไม่ทำงาน


ขอขอบคุณ! ฉันใส่คำสั่ง แต่ซีลีเนียมไม่หยุดชั่วคราว Command = pause, Value = 10000
LaPhi

53
ใช้TargetแทนValue. Command = Pause, Target = 1,000
khairul

1
@Khairul ดีใจที่คุณเพิ่มความคิดเห็นนั้นมันทำให้ฉันโกรธมากว่าทำไมถึงpause()ไม่ทำงาน
cchana

ความเร็วไม่มีผลกับคำสั่งหยุดชั่วคราว แต่อย่างที่ @Khairul พูดแทน: วางไว้ในเป้าหมาย
Mendhak

เมื่อคุณหยุดชั่วคราวในตอนท้ายของกรณีทดสอบเมื่อเรียกใช้ชุดทดสอบจะไม่ทำงาน
Alfonso Fernandez-Ocampo

85

สิ่งนี้จะทำให้สิ่งต่างๆล่าช้าเป็นเวลา 5 วินาที:

คำสั่ง: หยุด
เป้าหมายชั่วคราว: 5000
ค่า:

สิ่งนี้จะทำให้สิ่งต่างๆล่าช้าเป็นเวลา 3 วินาที:

คำสั่ง: หยุด
เป้าหมายชั่วคราว: 3000
ค่า:

เอกสารประกอบ:

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

ป้อนคำอธิบายภาพที่นี่ ป้อนคำอธิบายภาพที่นี่


2
ดังนั้นตั้ง 5000 เป็นเวลา 5 วินาที
Ripon Al Wasim

1
นั่นเป็นเรื่องบ้าที่พวกเขาจะทำให้เป้าหมายมีค่ารอเป็นมิลลิวินาที รักมัน. ขอบคุณสำหรับการโพสต์สิ่งนี้เนื่องจากฉันไม่ได้พยายามป้อนค่าในเป้าหมาย
John Z

6

สำหรับผู้ที่ทำงานด้วยantฉันใช้สิ่งนี้เพื่อระบุการหยุดชั่วคราว 5 วินาที:

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

นั่นคือtarget: 5000และvalueว่างเปล่า ตามข้อมูลอ้างอิงระบุว่า:

หยุดชั่วคราว (waitTime)

อาร์กิวเมนต์:

  • waitTime - ระยะเวลาในการนอนหลับ (เป็นมิลลิวินาที)

รอตามระยะเวลาที่กำหนด (ในหน่วยมิลลิวินาที)


4

ทางออกที่ดีที่สุดของคุณคือwaitForConditionการเขียนฟังก์ชันจาวาสคริปต์ที่ส่งคืนจริงเมื่อโหลดแผนที่


ขอบคุณสำหรับความคิดเห็น! แต่ตอนนี้มีวิธี OOTB รอ x วินาทีหรือไม่?
LaPhi

1
ไม่ไม่มีวิธีโดยตรงที่จะรอ x วินาที ดูรายการคำสั่งที่รองรับทั้งหมด
คาเฟอีนสูง

2
หยุด x000 วินาทีจะรอ x วินาที
Thunder Rabbit

1

สิ่งนี้จะทำสิ่งที่คุณกำลังมองหาใน 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 */);

และอย่าใช้ Thread.Sleep เพราะจะทำให้การทดสอบของคุณไม่น่าเชื่อถือ


ตัวเลือกที่ดีกว่ามากใน Selenium 2
craastad

0

คำสั่งหยุดชั่วคราวสามารถใช้ได้โดยตรงใน ide ในรูปแบบ html

หากใช้ java หรือ C คุณสามารถใช้ Thread.sleep (5000) เวลาอยู่ในหน่วยมิลลิวินาที ภาษาอื่นรองรับ "sleep 5" หรือ time.sleep (5) คุณมีหลายทางเลือกสำหรับการรอเวลาที่กำหนด


2
เธรดการนอนหลับไม่ใช่ความคิดที่ดีและนั่นคือเหตุผลว่าทำไมซีลีเนียมจึงจัดเตรียมการรอแบบดั้งเดิม หากคุณใช้พวกเขาคุณสามารถระบุค่าการหมดเวลาที่สูงขึ้นมากซึ่งทำให้การทดสอบมีความน่าเชื่อถือมากขึ้นโดยไม่ต้องชะลอตัวลงเนื่องจากสามารถประเมินเงื่อนไขได้บ่อยเท่าที่จำเป็นเช่น ทุกๆ 50ms
Pawel Pabich

คำตอบของฉันในเธรดการนอนหลับเกี่ยวข้องกับการตอบคำถามสำหรับวิธีทำให้รอในอุดมคติเท่านั้น เมื่อหยุดชั่วคราวจะถูกแปลเป็น thread.sleep เมื่อคุณแปลงจาก html เป็น java หรือ c ใน ide
rattlerbred

0

ก่อนที่คำสั่งจะclickAndWaitเพิ่มรหัสต่อไปนี้ดังนั้นสคริปต์จะรอจนกว่าจะเห็นลิงก์เฉพาะ:

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

การใช้คำสั่ง wait แทนการหยุดชั่วคราวส่วนใหญ่จะมีประสิทธิภาพและเสถียรกว่า


0

ขั้นตอนนี้จะรอจนกว่าลิงก์ของคุณจะปรากฏขึ้นจากนั้นคุณจึงคลิกได้

Command: waitForElementPresent Target: link=do something Value:


0

สิ่งที่ฉันพบว่าใช้ได้กับไซต์ที่ฉันทดสอบคืออันนี้:

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

Klendathu


0

ใน Chrome สำหรับ "Selenium IDE" ฉันก็ลำบากเหมือนกันที่มันไม่หยุดชั่วคราว มันจะหยุดชั่วคราวหากคุณให้ดังนี้:

  • คำสั่ง: หยุดชั่วคราว
  • เป้าหมาย: ว่างเปล่า
  • มูลค่า: 10,000

การดำเนินการนี้จะหยุดชั่วคราวเป็นเวลา 10 วินาที


1
เป้าหมายควรเป็น 10,000 และค่าควรว่างเปล่า
Sirmyself

ไม่แน่ใจว่าคุณกำลังลองใช้ปลั๊กอินของเบราว์เซอร์ใด แต่ใช้งานได้ดีสำหรับฉันใน Chrome ขึ้นอยู่กับส่วนขยายที่คุณใช้
TechSingh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.