คำถามติดแท็ก automated-tests

การทดสอบอัตโนมัติคือการใช้ซอฟต์แวร์เพื่อควบคุมการดำเนินการทดสอบการเปรียบเทียบผลลัพธ์จริงกับผลลัพธ์ที่คาดการณ์ไว้การตั้งค่าเงื่อนไขเบื้องต้นของการทดสอบและฟังก์ชันการควบคุมการทดสอบและการรายงานการทดสอบอื่น ๆ โดยทั่วไปการทดสอบอัตโนมัติเกี่ยวข้องกับการทำให้กระบวนการด้วยตนเองเป็นไปโดยอัตโนมัติซึ่งใช้กระบวนการทดสอบที่เป็นทางการ (wikipedia.org)

14
รับแหล่ง HTML ของ WebElement ใน Selenium WebDriver โดยใช้ Python
ฉันกำลังใช้การผูก Python เพื่อเรียกใช้ Selenium WebDriver: from selenium import webdriver wd = webdriver.Firefox() ฉันรู้ว่าฉันสามารถคว้าองค์ประกอบเว็บได้เช่นนี้: elem = wd.find_element_by_css_selector('#my-id') และฉันรู้ว่าฉันสามารถรับซอร์สเต็มหน้าด้วย ... wd.page_source แต่มีเพื่อรับ "แหล่งองค์ประกอบ" หรือไม่ elem.source # <-- returns the HTML as a string ซีเลเนี่ยม webdriver docs สำหรับ Python นั้นไม่มีอยู่จริงและฉันไม่เห็นอะไรเลยในรหัสที่ดูเหมือนว่าจะเปิดใช้งานการทำงานนั้น มีความคิดเกี่ยวกับวิธีที่ดีที่สุดในการเข้าถึง HTML ขององค์ประกอบ (และลูก ๆ ) หรือไม่

30
การดีบักข้อผิดพลาด“ องค์ประกอบไม่สามารถคลิกได้ที่จุด” ข้อผิดพลาด
ฉันเห็นสิ่งนี้เฉพาะใน Chrome ข้อความแสดงข้อผิดพลาดทั้งหมดอ่าน: "org.openqa.selenium.WebDriverException: องค์ประกอบไม่สามารถคลิกได้ที่จุด (411, 675) องค์ประกอบอื่น ๆ จะได้รับการคลิก: ... " องค์ประกอบที่ 'จะได้รับการคลิก' คือด้านข้างขององค์ประกอบที่เป็นปัญหาไม่ใช่ด้านบนของมันและไม่ทับซ้อนกันไม่ย้ายไปมารอบหน้า ฉันลองเพิ่มออฟเซ็ตแล้ว แต่ก็ไม่ได้ผล รายการอยู่ในหน้าต่างที่แสดงโดยไม่จำเป็นต้องเลื่อน

29
พิมพ์คีย์ Enter / Return โดยใช้ Python และ Selenium หรือไม่
ฉันกำลังมองหาวิธีที่รวดเร็วในการพิมพ์และป้อนหรือส่งคืนคีย์ในซีลีเนียม น่าเสียดายที่แบบฟอร์มที่ฉันพยายามทดสอบ (ไม่ใช่รหัสของฉันเองดังนั้นฉันจึงไม่สามารถแก้ไขได้) ไม่มีปุ่มส่ง เมื่อทำงานร่วมกับมันด้วยตนเองผมเพียงแค่พิมพ์หรือENTER RETURNฉันจำเป็นต้องรู้วิธีการทำเช่นนั้นด้วยtypeคำสั่งSelenium เนื่องจากไม่มีปุ่มให้คลิก


14
การเรียกกลับ Async ไม่ได้ถูกเรียกใช้ภายในการหมดเวลา 5000 มิลลิวินาทีที่ระบุโดย jest.setTimeout
ฉันใช้หุ่นกระบอกและล้อเล่นเพื่อทำการทดสอบด้านหน้า การทดสอบของฉันมีลักษณะดังนี้: describe("Profile Tab Exists and Clickable: /settings/user", () => { test(`Assert that you can click the profile tab`, async () => { await page.waitForSelector(PROFILE.TAB); await page.click(PROFILE.TAB); }, 30000); }); บางครั้งเมื่อฉันทำการทดสอบทุกอย่างทำงานตามที่คาดไว้ ในบางครั้งฉันได้รับข้อผิดพลาด: Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout. at node_modules/jest-jasmine2/build/queue_runner.js:68:21 at Timeout.callback …

30
เลื่อนองค์ประกอบเข้าสู่มุมมองด้วยซีลีเนียม
มีวิธีใดในซีลีเนียม 1.x หรือ 2.x เพื่อเลื่อนหน้าต่างเบราว์เซอร์เพื่อให้องค์ประกอบเฉพาะที่ระบุโดย XPath อยู่ในมุมมองของเบราว์เซอร์ มีวิธีการโฟกัสในซีลีเนียม แต่ดูเหมือนจะไม่เลื่อนภาพใน FireFox ใครบ้างมีคำแนะนำเกี่ยวกับวิธีการทำเช่นนี้? เหตุผลที่ฉันต้องการสิ่งนี้คือฉันกำลังทดสอบการคลิกองค์ประกอบบนหน้าเว็บ น่าเสียดายที่เหตุการณ์ดูเหมือนจะไม่ทำงานจนกว่าองค์ประกอบจะปรากฏ ฉันไม่สามารถควบคุมโค้ดที่จะยิงเมื่อมีการคลิกองค์ประกอบดังนั้นฉันจึงไม่สามารถดีบักหรือทำการแก้ไขได้ดังนั้นวิธีที่ง่ายที่สุดคือการเลื่อนรายการลงในมุมมอง

24
Selenium c # Webdriver: รอจนกระทั่งมีองค์ประกอบอยู่
ฉันต้องการตรวจสอบให้แน่ใจว่ามีองค์ประกอบอยู่ก่อนที่ webdriver จะเริ่มทำสิ่งต่างๆ ฉันกำลังพยายามทำให้สิ่งนี้เป็นจริง: WebDriverWait wait = new WebDriverWait(driver, new TimeSpan(0,0,5)); wait.Until(By.Id("login")); ฉันส่วนใหญ่ดิ้นรนวิธีการตั้งค่าฟังก์ชั่น anynomous ..

5
ความสับสนของ JUnit: ใช้ 'ขยาย TestCase' หรือ '@Test' หรือไม่
ฉันพบการใช้งานที่เหมาะสม (หรืออย่างน้อยเอกสาร) ของ JUnit ทำให้เกิดความสับสนมาก คำถามนี้ทำหน้าที่เป็นข้อมูลอ้างอิงในอนาคตและเป็นคำถามจริง หากฉันเข้าใจถูกต้องมีสองวิธีหลักในการสร้างและเรียกใช้การทดสอบ JUnit: วิธี A (JUnit 3 สไตล์):สร้างคลาสที่ขยาย TestCase testและเริ่มวิธีการทดสอบที่มีคำว่า เมื่อรันคลาสเป็น JUnit Test (ใน Eclipse) วิธีการทั้งหมดที่เริ่มต้นด้วยคำtestจะถูกเรียกใช้โดยอัตโนมัติ import junit.framework.TestCase; public class DummyTestA extends TestCase { public void testSum() { int a = 5; int b = 10; int result = a + b; assertEquals(15, result); } …

15
WatiN หรือ Selenium [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ฉันจะเริ่มเขียนโค้ดการทดสอบอัตโนมัติของงานนำเสนอของเราในไม่ช้า ดูเหมือนว่าทุกคนแนะนำWatiNและซีลีเนียม คุณต้องการทดสอบแบบฟอร์มเว็บ ASP.NET โดยอัตโนมัติแบบไหน? ผลิตภัณฑ์ใดบ้างที่ทำงานได้ดีกว่าสำหรับคุณ จากการสังเกตด้านข้างฉันสังเกตเห็นว่า WatiN 2.0 อยู่ใน CTP ตั้งแต่เดือนมีนาคม 2551 เป็นเรื่องที่ต้องกังวลหรือไม่?

7
การใช้ Selenium WebDriver python bindings ในโครเมียม
ฉันพบปัญหาขณะทำงานกับซีลีเนียม สำหรับโครงการของฉันฉันต้องใช้ Chrome อย่างไรก็ตามฉันไม่สามารถเชื่อมต่อกับเบราว์เซอร์นั้นได้หลังจากเปิดใช้งานด้วย Selenium ด้วยเหตุผลบางอย่างซีลีเนียมไม่สามารถค้นหา Chrome ได้ด้วยตนเอง นี่คือสิ่งที่เกิดขึ้นเมื่อฉันพยายามเปิด Chrome โดยไม่ใส่เส้นทาง: Traceback (most recent call last): File "./obp_pb_get_csv.py", line 73, in <module> browser = webdriver.Chrome() # Get local session of chrome File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__ self.service.start() File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 58, in start and read up at http://code.google.com/p/selenium/wiki/ChromeDriver") selenium.common.exceptions.WebDriverException: …

11
“ องค์ประกอบไม่ได้เชื่อมต่อกับ DOM” StaleElementReferenceException แบบสุ่มอีกต่อไป
ฉันหวังว่ามันเป็นแค่ฉัน แต่ Selenium Webdriver ดูเหมือนเป็นฝันร้ายที่สมบูรณ์ เว็บเบราว์เซอร์ Chrome ใช้งานไม่ได้ในขณะนี้และไดรเวอร์อื่น ๆ ค่อนข้างไม่น่าเชื่อถือหรือดูเหมือนเป็นอย่างนั้น ฉันกำลังต่อสู้กับปัญหาหลายอย่าง แต่นี่คือปัญหาเดียว การทดสอบของฉันจะล้มเหลวด้วยการสุ่ม "org.openqa.selenium.StaleElementReferenceException: Element is no longer attached to the DOM System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.6.0_23'" ฉันใช้ webdriver เวอร์ชั่น 2.0b3 ฉันได้เห็นสิ่งนี้เกิดขึ้นกับไดรเวอร์ FF และ IE วิธีเดียวที่ฉันสามารถป้องกันได้คือเพิ่มการโทรจริงThread.sleepก่อนที่จะเกิดข้อยกเว้น นั่นเป็นวิธีแก้ปัญหาที่ไม่ดีดังนั้นฉันหวังว่าจะมีใครบางคนชี้ให้เห็นข้อผิดพลาดในส่วนของฉันที่จะทำให้ดีขึ้นทั้งหมด

17
ฉันจะเลื่อนหน้าเว็บโดยใช้ selenium webdriver ใน python ได้อย่างไร
ฉันกำลังใช้ selenium webdriver เพื่อแยกวิเคราะห์ผ่านหน้าเพื่อนของผู้ใช้ facebook และแยกรหัสทั้งหมดจากสคริปต์ AJAX แต่ฉันต้องเลื่อนลงเพื่อรับเพื่อนทั้งหมด ฉันจะเลื่อนลงในซีลีเนียมได้อย่างไร ฉันใช้ python

20
เปรียบเทียบความเท่าเทียมกันระหว่างสองวัตถุใน NUnit
ฉันพยายามยืนยันว่าวัตถุหนึ่ง "เท่ากับ" กับวัตถุอื่น อ็อบเจ็กต์เป็นเพียงอินสแตนซ์ของคลาสที่มีคุณสมบัติสาธารณะมากมาย มีวิธีง่ายๆในการให้ NUnit ยืนยันความเท่าเทียมกันตามคุณสมบัติหรือไม่? นี่เป็นวิธีแก้ปัญหาปัจจุบันของฉัน แต่ฉันคิดว่าอาจมีบางอย่างที่ดีกว่า: Assert.AreEqual(LeftObject.Property1, RightObject.Property1) Assert.AreEqual(LeftObject.Property2, RightObject.Property2) Assert.AreEqual(LeftObject.Property3, RightObject.Property3) ... Assert.AreEqual(LeftObject.PropertyN, RightObject.PropertyN) สิ่งที่ฉันต้องการจะเป็นไปในจิตวิญญาณเดียวกันกับ CollectionEquivalentConstraint โดยที่ NUnit ตรวจสอบว่าเนื้อหาของสองคอลเลคชันเหมือนกัน

16
สคริปต์ทุบตีการทดสอบหน่วย
เรามีระบบที่มีสคริปต์ bash ที่ทำงานนอกเหนือจากโค้ด Java เนื่องจากเรากำลังพยายามทดสอบทุกสิ่งที่อาจพังได้และสคริปต์ทุบตีเหล่านั้นอาจพังเราจึงต้องการทดสอบ ปัญหาคือยากที่จะทดสอบสคริปต์ทุบตี มีวิธีหรือแนวทางปฏิบัติที่ดีที่สุดในการทดสอบ bash script หรือไม่? หรือเราควรเลิกใช้สคริปต์ทุบตีและมองหาทางเลือกอื่นที่สามารถทดสอบได้?

10
จะทดสอบกล่องโต้ตอบยืนยันกับแตงกวาได้อย่างไร?
ฉันใช้ Ruby on Rails กับ Cucumber และ Capybara ฉันจะทดสอบคำสั่งยืนยันอย่างง่ายได้อย่างไร ("แน่ใจหรือ") นอกจากนี้ฉันจะหาเอกสารเพิ่มเติมเกี่ยวกับปัญหานี้ได้ที่ไหน

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