WatiN หรือ Selenium [ปิด]


148

ฉันจะเริ่มเขียนโค้ดการทดสอบอัตโนมัติของงานนำเสนอของเราในไม่ช้า ดูเหมือนว่าทุกคนแนะนำWatiNและซีลีเนียม คุณต้องการทดสอบแบบฟอร์มเว็บ ASP.NET โดยอัตโนมัติแบบไหน? ผลิตภัณฑ์ใดบ้างที่ทำงานได้ดีกว่าสำหรับคุณ

จากการสังเกตด้านข้างฉันสังเกตเห็นว่า WatiN 2.0 อยู่ใน CTP ตั้งแต่เดือนมีนาคม 2551 เป็นเรื่องที่ต้องกังวลหรือไม่?


30
ฉันไม่คิดว่าควรปิดคำถามนี้ มันมีประโยชน์สำหรับฉันและนักพัฒนาอื่น ๆ (ดู upvotes) คำถามดังกล่าวเป็นหนึ่งในเหตุผลที่ฉันต้องการ Stackoverflow ฉันหวังว่าฉันสามารถลงคะแนนการตัดสินใจของผู้ดูแลระบบ
Maxim Eliseev

7
ฉันสงสัยว่าทำไมคำถามนี้จึงปิด มันสร้างสรรค์มาก ฉันกำลังศึกษาทั้งสองและต้องการทราบความแตกต่างของพวกเขา
marcelo-ferraz

14
ไม่สร้างสรรค์ ??? ... ไซต์นี้ถูกครอบงำโดย idiots ที่มีการควบคุมมากเกินไป
Ronald McDonald

คำตอบ:


108

แค่อยากจะบอกว่าฉันกำลังทำงานอย่างหนักกับรุ่นเบต้าของ WatiN 2.0 ที่ไหนสักแห่งในไตรมาสที่ 1 ของปี 2009 มันจะเป็นการอัพเกรดครั้งใหญ่สำหรับรุ่น CTP 2.0 ในปัจจุบันและโดยพื้นฐานแล้วจะให้ฟังก์ชันการทำงานเดียวกัน ข้อเสนอเวอร์ชัน 1.3.0 สำหรับการทำให้ IE เป็นอัตโนมัติ

ดังนั้นจึงไม่มีข้อกังวล

หวังว่าสิ่งนี้จะช่วยในการตัดสินใจเลือก Jeroen van Menen Lead dev WatiN


23
@jcollum ขออภัย แต่ฉันไม่เห็นด้วยที่จะให้ -1 Jeroen ตอบเพียงคำถามที่สอง "ในฐานะที่เป็นบันทึกด้านข้าง ... " และใครจะมีคุณสมบัติที่ดีกว่าในการตอบกลับว่าถ้าไม่ใช่ Lead Developer ของผลิตภัณฑ์ การทำเครื่องหมายเฉพาะการตอบกลับนี้เป็นคำตอบที่ดีที่สุดอาจเป็นที่น่าสงสัย
Henry99

1
@ Henry99 น่าจะเหมาะสมกว่าสำหรับความคิดเห็นภายใต้คำถามหรือคำถามแยกต่างหาก คำถามหลักที่นี่คือ "A หรือ B" ผู้เขียน A หรือ B ไม่ควรตอบคำถามเช่นนี้เนื่องจากเห็นได้ชัดว่าพวกเขาจะลำเอียง
jcollum

3
@jcollum Jeroen ไม่ได้เอ่ยถึงคุณภาพของผลิตภัณฑ์ของเขาเทียบกับ Selenium หรือพูดอะไรก็ตามที่สามารถพิจารณาลำเอียงทิศทางเดียวหรืออื่น ๆ บางทีคุณอาจไม่ได้อ่านคำถามที่สอง แต่ผู้พัฒนานำของโครงการไม่ต้องสงสัยเลยว่าบุคคลที่มีคุณสมบัติเหมาะสมที่สุดที่จะตอบคำถามนั้น
Grinn

2
@Grinn: ฉันพูดในความคิดเห็นของฉันที่ด้านบนของคุณคุณอ่านมันได้หรือไม่ เขาไม่ได้ตอบคำถามหลัก (Watin หรือ Selenium) เขาพูดถึงบางสิ่งที่น่าจะเป็นคำถามแยกต่างหาก
jcollum

คำตอบที่ดี ...
Mohsin Awan

58

หากคุณกำลังมองหาการลงทุนระยะยาวอย่างจริงจังในกรอบที่จะได้รับการปรับปรุงและสนับสนุนจากชุมชนต่อไปซีลีเนียมอาจเป็นทางออกที่ดีที่สุดของคุณ ตัวอย่างเช่นฉันเพิ่งเจอข้อมูลนี้ในบล็อกของ Matt Raible:

ตั้งแต่วันศุกร์ที่ผ่านมา Google มีทีมงานมากกว่า 50 ทีมที่ทำงานทดสอบ 51K ต่อวันในฟาร์มซีลีเนียมภายใน 96% ของการทดสอบเหล่านี้ได้รับการจัดการโดยซีลีเนียม RC และเครื่องฟาร์มอย่างถูกต้อง อีก 4% ส่วนหนึ่งเป็นเพราะข้อบกพร่อง RC ส่วนหนึ่งเพื่อทดสอบข้อผิดพลาด แต่การแยกสาเหตุอาจเป็นเรื่องยาก ซีลีเนียมถูกนำมาใช้เป็นเทคโนโลยีหลักสำหรับการทดสอบการทำงานของเว็บแอปพลิเคชันภายใน Google นั่นเป็นข่าวดี

ฉันไปที่หนึ่งในการพบปะซีลีเนียมเมื่อไม่นานมานี้และได้เรียนรู้ว่า Google กำลังทุ่มเททรัพยากรอย่างจริงจังเพื่อปรับปรุงซีลีเนียมและรวมเข้ากับ WebDriver ซึ่งเป็นเครื่องมือทดสอบอัตโนมัติที่พัฒนาโดย Simon Stewart ข้อดีอย่างหนึ่งของ WebDriver ก็คือมันควบคุมเบราว์เซอร์เองแทนที่จะทำงานภายในเบราว์เซอร์เป็นแอปพลิเคชั่น Javascript ซึ่งหมายความว่าการสะดุดบล็อกที่สำคัญเช่นปัญหา "ต้นกำเนิดเดียวกัน" จะไม่เป็นปัญหาอีกต่อไป


1
ซีลีเนียมดูเหมือนโครงการที่เป็นผู้ใหญ่มากขึ้นในขณะนี้บวกกับความจริงที่ว่า Google กำลังใช้มันเป็นคำแนะนำที่มั่นคง (เช่นฉันเคยลอง Watin และมีปัญหา - ไม่เคยลองซีลีเนียมมาก่อน)
Piotr Owsiak

37

เราได้ทดสอบทั้งสองและตัดสินใจที่จะไปกับ WaTiN ดังที่คนอื่น ๆ ชี้ให้เห็นซีลีเนียมมีคุณสมบัติที่ดีบางอย่างที่ไม่พบใน WaTiN แต่เราพบปัญหาในการทำให้ซีลีเนียมทำงานได้และเมื่อเราทำมันก็ช้าลงอย่างแน่นอนเมื่อทำการทดสอบกว่า WaTiN หากฉันจำได้อย่างถูกต้องปัญหาการตั้งค่าที่เราพบนั้นเกิดจากข้อเท็จจริงที่ว่าซีลีเนียมมีแอพแยกต่างหากเพื่อควบคุมเบราว์เซอร์จริงที่ WaTiN ทำทุกอย่างที่ดำเนินการอยู่


4
+1 สำหรับบันทึกประสิทธิภาพและการใช้งานจริง
Jeremy McGee

ฉันตระหนักถึงปัญหาเดียวกัน: # 1 ประสิทธิภาพไม่ดีนักและ # 1 การทดสอบกำลังทำงานบนเซิร์ฟเวอร์ Java (ที่ต้องตั้งค่าใน [TestSetup])
Peter Gfader

18
นี่ไม่ใช่ปัญหาอีกต่อไป - Selenium 2.0 มาพร้อมกับไลบรารี WebDriver ซึ่งเปิดใช้งานการควบคุมเบราว์เซอร์โดยตรงไม่ใช่แค่ผ่านเซิร์ฟเวอร์ Java
Igor Brejc

2
ฉันไม่ได้ลองซีลีเนียม แต่ฉันมีปัญหากับ Watin ฉันมีการทดสอบหยุดทันทีโดยไม่มีเหตุผลที่ชัดเจนและฉันมีข้อผิดพลาด COM ที่ถูกโยนแบบสุ่ม (อย่างน้อยฉันก็ไม่พบรูปแบบใด ๆ )
Piotr Owsiak

30

ฉันได้ลอง 'em ทั้งสองออกและนี่คือความคิดเริ่มต้นของฉัน ...


WatiN

ดี

  • ดำเนินการอย่างรวดเร็ว
  • เครื่องมือสร้างสคริปต์เป็นโครงการอิสระ มี 2 ​​อย่างที่ฉันรู้: Wax (อิงจาก Excel โฮสต์บน CodePlex) และWatiN Test Record (โฮสต์บน SourceForge) ไม่แข็งแรงเท่าซีลีเนียม IDE
  • รองรับ IE ได้ดีมาก สามารถแนบและแยกไปยัง / จากการใช้งานอินสแตนซ์ สามารถเข้าถึงการจัดการหน้าต่างเนทิฟเป็นต้น (ดูตัวอย่างสคริปต์ด้านล่าง)
  • NuGet ทำแพคเกจใช้งานง่ายใน. NET, สภาพแวดล้อมสไตล์ Visual Studio และปรับปรุงให้ทันสมัยอยู่เสมอ

เลว

  • Googling WatiN (watin xyz) มักทำให้ Google แนะนำ "watir xyz" แทน มีเอกสารไม่มาก
  • มีอะไรน้อย (เอกสาร) มันสับสน; ตัวอย่างเช่น: ที่หน้าแดงมันจะปรากฏว่าไม่มีการสนับสนุนพื้นเมืองสำหรับตัวเลือก CSS โดยเฉพาะอย่างยิ่งเนื่องจากมีไลบรารีส่วนขยายเช่น 'WatiNCssSelectorExtensions' และบทความบล็อกมากมายเกี่ยวกับเทคนิคทางเลือก (เช่นการฉีด jQuery / sizzle ลงในหน้า) ใน Stack Overflow ฉันพบความคิดเห็นโดยJeroen van Menenซึ่งแสดงให้เห็นว่ามีการสนับสนุนดั้งเดิม อย่างน้อยผู้นำการพัฒนาใช้เวลากับ Stack Overflow :)
  • ไม่รองรับ XPath ดั้งเดิม
  • ไม่มีการดำเนินการทางไกล / ตามตาราง

ตัวอย่างสคริปต์ (C #) คุณทำสิ่งนี้กับซีลีเนียมไม่ได้ (อย่างน้อยก็ฉันรู้)

class IEManager
{
    IE _ie = null;
    object _lock = new object();

    IE GetInstance(string UrlFragment)
    {
        lock (_lock)
        {
            if (_ie == null)
            {
                var instances = new IECollection(true);  //Find all existing IE instances
                var match = instances.FirstOrDefault(ie=>ie.Url.Contains(UrlFragment));
                _ie = match ?? new IE();
                if (match==null)  //we created a new instance, so we should clean it up when done!
                    _ie.AutoClose = true;
            }
        }

        return _ie;
    }
}

ซีลีเนียม

  • ช้ากว่า WatiN (โดยเฉพาะเมื่อต้องสร้างกระบวนการใหม่)
  • Built-in CSS selectors / รองรับ XPath
  • ซีลีเนียม IDE เป็นสิ่งที่ดี (พูดไม่เก่ง แต่ยอดเยี่ยมที่สุดในชั้นเรียน!)
  • รู้สึกถึง Java-ish มากกว่า. NET-ish ... แต่จริงๆแล้วมันเป็นภาษาโปรแกรมที่ไม่เชื่อเรื่องพระเจ้า; คำสั่งทั้งหมดจะถูกส่งไปที่ 'ไดรเวอร์' นอกกระบวนการ ไดรเวอร์นั้นเป็นกระบวนการ 'โฮสต์' สำหรับอินสแตนซ์ของเบราว์เซอร์ การสื่อสารทั้งหมดจะต้องเป็นอนุกรมเข้า / ออกข้ามขอบเขตกระบวนการซึ่งอาจอธิบายปัญหาความเร็วที่สัมพันธ์กับ WatiN
  • กระบวนการแยกกัน - "ไดร์เวอร์" และ "การควบคุม" หมายถึงความทนทานความซับซ้อนมากขึ้น ฯลฯ แต่ยังง่ายต่อการสร้างกริด / สภาพแวดล้อมการทดสอบแบบกระจาย จะชอบมากถ้ากลไก "การกระจาย" (เช่นการสื่อสารระหว่างไดร์เวอร์และการควบคุม) ข้ามกับ WebSphere หรือตัวจัดการคิวข้อความอื่น ๆ ที่มีอยู่และมีประสิทธิภาพ
  • รองรับ Chrome และเบราว์เซอร์อื่น ๆ นอกกรอบ

แม้ในท้ายที่สุดฉันไปกับ WatiN ในตอนท้าย ฉันตั้งใจจะเขียนแอปพลิเคชั่นการขูดหน้าจอขนาดเล็กเป็นหลักและต้องการใช้ LINQPad เพื่อการพัฒนา การเชื่อมต่ออินสแตนซ์ IE ระยะไกล (อันที่ฉันไม่ได้วางไข่ด้วยตัวเอง) เป็นข้อดีอย่างมาก ฉันสามารถคลานไปรอบ ๆ ในตัวอย่างที่มีอยู่ ... จากนั้นเรียกใช้สคริปต์เล็กน้อย ... จากนั้นเล่นซออีกครั้ง ฯลฯ การทำเช่นนี้กับซีลีเนียมทำได้ยากขึ้นแม้ว่าฉันคิดว่า "หยุด" จะฝังอยู่ในสคริปต์ในช่วงเวลาที่ฉันสามารถทำได้ ซอโดยตรงกับเบราว์เซอร์


2
ขอบคุณสำหรับการเปรียบเทียบอย่างละเอียด
Sam

18

ความแตกต่างที่ยิ่งใหญ่ที่สุดคือซีลีเนียมรองรับเบราว์เซอร์ที่แตกต่างกัน (ไม่ใช่แค่ IE หรือ FF ดูที่http://seleniumhq.org/about/platforms.html#browsers )

นอกจากนี้ซีลีเนียมยังมีเซิร์ฟเวอร์ควบคุมระยะไกล ( http://seleniumhq.org/projects/remote-control/ ) ซึ่งหมายความว่าคุณไม่จำเป็นต้องเรียกใช้เบราว์เซอร์ในเครื่องเดียวกันที่รหัสทดสอบกำลังทำงานอยู่ คุณสามารถทดสอบเว็บแอปของคุณได้ บนแพลตฟอร์มระบบปฏิบัติการที่แตกต่างกัน

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


3
Selenium มีการรองรับเบราว์เซอร์ที่แตกต่างกัน - สิ่งที่สำคัญยิ่งกว่านั้นคือตอนนี้เราต้องสนับสนุน Chrome, Safari, FF และ IE 6, 7 และ 8
Tony Ennis

17

ทั้ง ใช้ Coypu มันหุ้มซีลีเนียม ทนทานกว่ามาก https://github.com/featurist/coypu

อัพเดท Ye Oliver คุณถูกต้อง ตกลงทำไมมันถึงดีกว่า โดยส่วนตัวแล้วฉันได้พบว่าไดรเวอร์ Selenium สำหรับ IE โดยเฉพาะนั้นมีความเปราะบางมาก - มีข้อยกเว้นไดรเวอร์ 'มาตรฐาน' จำนวนหนึ่งที่ฉันได้พบอีกครั้งเมื่อขับ Selenium สำหรับ Unit Tests บนเว็บไซต์หนัก ajax

ฉันพูดถึงฉันต้องการเขียนสคริปต์ของฉันใน c # เป็นโครงการทดสอบหรือไม่ ใช่ทดสอบการยอมรับภายในการปรับใช้การสร้างอย่างต่อเนื่อง

Coypu มีข้อตกลงกับข้างต้น มันเป็นเสื้อคลุมสำหรับซีลีเนียมที่ช่วยให้การทดสอบการติดตั้งเช่น

browser.Visit("file:///C:/users/adiel/localstuff.htm")
browser.Select("toyota").From("make");
browser.ClickButton("Search");

... ซึ่งจะหมุนเบราว์เซอร์ (แบรนด์ที่กำหนดค่าได้) และเรียกใช้สคริปต์ มันใช้งานได้ดีกับภูมิภาคที่มีขอบเขตและขยายได้มาก

มีตัวอย่างเพิ่มเติมที่ GitHub และ Olvier ด้านล่างกล่าวถึงวิดีโอของ Adrian นั้นยอดเยี่ยม ฉันคิดว่ามันเป็นวิธีที่ดีที่สุดในการผลักดันการทดสอบโดยใช้เบราว์เซอร์ใน. Net โลกและพยายามที่จะปฏิบัติตามมันเป็นชื่อซ้ำ Rubycapybara


คำตอบนี้ต้องการความสนใจมากขึ้น: Coypu เป็นลิงค์ที่ขาดหายไประหว่างคุณและการทดสอบเบราว์เซอร์อัตโนมัติ! ! ที่น่าตื่นตาตื่นใจ ไปดูมันตอนนี้! หากคุณพยายามที่เคยมีซีลีเนียม (หรืออาจ WatiN) พยายามที่จะได้รับ AJAX หรือองค์ประกอบการหาทางขวา - coypu คือคำตอบคำอธิษฐานของคุณ ;-)
โอลิเวอร์

ขอบคุณ @penderi, สำหรับการเพิ่มรายละเอียดเพิ่มเติม :-)
โอลิเวอร์

12

ฉันใช้ทั้งคู่พวกเขาทั้งคู่ดูเหมือนจะโอเค พยักหน้าของฉันมีไว้สำหรับซีลีเนียมเพราะดูเหมือนว่าได้รับการสนับสนุนอาแจ็กซ์ ฉันเชื่อว่า WaTiN ได้ครบกำหนดแล้วตั้งแต่ฉันใช้มันครั้งสุดท้ายดังนั้นจึงควรมีสิ่งเดียวกัน

สิ่งที่สำคัญที่สุดคือสภาพแวดล้อมการพัฒนาที่คุณชอบ Selenium และ Watin มีเครื่องบันทึก แต่ Selenium อยู่ในเบราว์เซอร์และ watin อยู่ใน visual studio + และ - ของทั้งคู่


6

จนถึงขณะนี้เราเป็นร้าน Microsoft บริสุทธิ์สำหรับการส่งมอบโซลูชั่นสำหรับองค์กรและไปกับ WatiN สิ่งนี้อาจเปลี่ยนแปลงได้ในอนาคต

ในฐานะที่เป็นแหล่งข้อมูลล่าสุด:

Microsoft พิมพ์ในนิตยสาร MSDN 12/2010 a BDD-Primer ด้วยการผสมผสานของ SpecFlow กับ WatiN (การพัฒนารูปแบบการขับเคลื่อนพฤติกรรม BDD ที่ยอดเยี่ยม) ผู้เขียนแบรนดอน Satrom (นักพัฒนา Evangelist ของศาสนาอิสลาม) ได้โพสต์ในเดือนธันวาคม 2010 วิดีโอสอนการออกอากาศทางเว็บในรายละเอียด 1: 1 การค้นพบข้างต้นของเขา

มีรายงานจาก 04/2011 เรื่องการสนับสนุน ATDD / BDD ด้วย SpecLog, SpecFlow และ Team Foundation Server (ทดสอบการยอมรับการพัฒนาและขับเคลื่อนพฤติกรรมการทดลอง) จากChristian Hassaซึ่งทีมงานสร้าง SpecFlow


5

ฉันใช้ Watin แต่ไม่ได้ใช้ Selenium ฉันสามารถพูดได้ว่าฉันตื่นขึ้นมาและวิ่งได้อย่างรวดเร็วบน Watin และไม่มีปัญหาสักเล็กน้อย ฉันไม่สามารถคิดในสิ่งที่ฉันต้องการจะทำอย่างนั้นฉันไม่สามารถคิดออกได้ HTH


4

ฉันมักจะใช้ซีลีเนียมส่วนใหญ่เป็นเพราะฉันชอบซีลีเนียม IDE ปลั๊กอินสำหรับ FireFox สำหรับการบันทึกจุดเริ่มต้นสำหรับการทดสอบของฉัน


คุณรู้หรือไม่ว่า FF รุ่นใดที่รองรับ ฉันลอง IDE ด้วย FF6 และ FF5 โดยไม่มีความรัก ฉันคาดว่าจะไม่รองรับ 6 คน แต่สำหรับ 5 ฉันรู้สึกประหลาดใจ
MikeJ

4

ฉันแนะนำWebAiiเนื่องจากเป็นสิ่งที่ฉันเคยประสบความสำเร็จและเมื่อใช้มันกริพเพนของฉันก็น้อย ฉันไม่เคยลองซีลีเนียมและฉันจำไม่ได้ว่าใช้ WaTiN มากอย่างน้อยก็ไม่ถึงจุดที่ฉันสามารถทำให้มันทำงานได้สำเร็จ ฉันไม่ทราบถึงกรอบใด ๆ ที่เกี่ยวข้องกับกล่องโต้ตอบ Windows อย่างสง่างามแม้ว่า WebAii จะมีส่วนต่อประสานสำหรับการใช้ตัวจัดการกล่องโต้ตอบของคุณเอง


ฉันต้องการให้ +1 เพื่อนำเสนอทางเลือกที่ 3 แต่ฉันบอกว่า -1 เพื่อไม่ให้ประสบการณ์กับผลิตภัณฑ์และเปรียบเทียบกับอีกสองคน
เจฟมาร์ติน

Windows dialogs = js กล่องการแจ้งเตือน? ถ้าเป็นเช่นนั้นซีลีเนียมก็รองรับได้เช่นกัน ฉันไม่เคยทดสอบเลยตั้งแต่พบว่ากล่องเตือนเหล่านั้นน่ารังเกียจ
jcollum

4

ฉันถือว่าใช้ทั้งคู่ ฉันใช้เครื่องบันทึกสำหรับซีลีเนียมเพื่อสร้างการทดสอบบางอย่างใน FF ผมพยายามที่จะทำเช่นเดียวกันใน watin และพบว่าwatin Recorder (2.0.9.1228) เป็นสมบูรณ์ไร้ค่าสำหรับเว็บไซต์ของเรา ดูเหมือนว่าจะแสดงผลเว็บไซต์ใน IE6 - ทำให้เว็บไซต์ของเราใช้ไม่ได้อย่างมีประสิทธิภาพสำหรับการบันทึก เราไม่รองรับ IE6 ฉันไม่พบวิธีเปลี่ยนเบราว์เซอร์ที่ใช้งานอยู่ ฉันพบ Watin Recorder หนึ่งอันเท่านั้น หากมีมากกว่าหนึ่งรายการหรือมากกว่านั้นที่เป็นปัจจุบันโปรดแสดงความคิดเห็น

Selenium Recorder IDE สำหรับ Firefox นั้นใช้ง่ายและทำการทดสอบพอร์ตถึง C # มันไม่ได้ยอดเยี่ยมในเรื่องนี้ ฉันไม่สามารถย้ายชุดทดสอบไปทำงานได้แม้จะอ่านโพสต์บล็อกหรือสองรายการที่มีวิธีแก้ไขปัญหา ดังนั้นจึงมีการจัดการโค้ดที่สร้างขึ้นเล็กน้อย ถึงกระนั้นก็ใช้งานได้ 90% และดีกว่าทางเลือกอื่น

สำหรับเงิน / เวลาของฉันซีลีเนียมเป็นเพียงที่เหนือกว่าเพื่อความสะดวกในการสร้างการทดสอบใหม่ IE ไม่มีแถบเครื่องมือสำหรับนักพัฒนาที่ดีที่อยู่ใกล้กับFirebugดังนั้นฉันกำลังพัฒนา Firefox ในตัวเพื่อเริ่มต้นใช้งานดังนั้นการมีเครื่องบันทึกที่ใช้งานได้ดีใน Firefox เป็นโบนัสมหาศาล

ข้อสรุปของฉันที่นี่เป็นเหมือนคำพูดของประชาธิปไตยโดย Churchill: Selenium เป็นรูปแบบการทดสอบ UI อัตโนมัติที่เลวร้ายที่สุด ยกเว้นคนอื่น ๆ ทั้งหมด


ความสามารถในการมีทีมงาน QA สร้างการทดสอบ 'ด้วยตนเอง' ด้วยปลั๊กอิน FF และให้นักพัฒนาพอร์ตทำการทดสอบ C # ที่สร้างขึ้นโครงสร้างพื้นฐานของเราทำให้บทสรุปสำหรับซีลีเนียมนั้นง่ายมาก WaitIn ดูยุติธรรมเพียงพอ - แต่กระบวนการ 'พยายาม' ในการทดสอบอาคาร (ตามวิดีโอในหน้าโครงการ WaitIn) ไม่ใช่ตัวเลือกสำหรับลูกค้าของเราในกรณีนี้
sonstabo

@sonstabo: นั่นคือทิศทางที่ฉันหวังว่าจะไป สักวันหนึ่งเมื่อเรามีแผนก QA A: puppydogeyes:
jcollum

3

ในความเสี่ยงที่จะออกไปเที่ยวแทนเจนต์ฉันแนะนำ Ax / WatiN Axe อนุญาตให้ทำการทดสอบใน Excel โดยผู้ทดสอบ 'Manual' ที่ไม่มีความรู้เกี่ยวกับการทดสอบพื้นฐาน 'ภาษา' ไม่จำเป็นต้องมี 'ช่างเทคนิค' เพื่อเขียนการกระทำตามความต้องการ (IE วันนี้ฉันต้องทำการค้นหาตารางที่ซับซ้อนเล็กน้อย & การอ้างอิงโยง) แต่เมื่อเขียนการกระทำที่สามารถใช้ในการทดสอบโดยผู้ทดสอบที่ไม่ใช่คนขี้รำคาญ

ฉันก็ได้ยินว่าโครงการ UK Government Gateway (ซึ่งฉันเชื่อว่ามีการทดสอบอัตโนมัติ 6K + การทดสอบอัตโนมัติ) เมื่อเร็ว ๆ นี้ได้ทำการทดสอบทั้งหมดจาก Ax / Winrunner ไปยัง Ax / Watin ภายในหนึ่งสัปดาห์ !! และการทดสอบจำนวนมากนั้นค่อนข้างซับซ้อน - ฉันรู้ว่าฉันทำงานเมื่อไม่กี่ปีที่ผ่านมา ...

ตอนนี้ฉันกำลังดูซีลีเนียมในฐานะลูกค้าที่มีศักยภาพจะใช้มัน แต่ฉันขอแนะนำให้วีดูที่ Axe เป็นเลเยอร์เหนือเครื่องมือ 'ม้าทำงาน'


3

หากคุณต้องเข้าถึง iframes กล่องโต้ตอบโมดัลและข้ามโดเมน iframes WatiN เป็นวิธีที่จะไป ซีลีเนียมไม่สามารถจัดการ iframes ที่กำลังทำการยกเว้นคำสั่ง timeout WatiN คุณสามารถทำสิ่งต่าง ๆ ได้มากขึ้นโดยเฉพาะถ้าเว็บไซต์ใช้ IE เฉพาะสิ่งเช่น ShowModalDialog เป็นต้น WatiN จัดการกับพวกมันได้ดีมาก ฉันสามารถทำได้แม้กระทั่งการเข้าถึง iframe ข้ามโดเมน


-1

คุณจะต้องทำทั้งสองอย่างถ้าคุณจำเป็นต้องทำการทดสอบ IE และ FF แต่พวกเขาจะทำงานได้ดีสำหรับการทดสอบการนำเสนอ พวกเขาลาดเทตรวจพบว่าองค์ประกอบหนึ่งปิดเล็กน้อยเพียงว่าองค์ประกอบที่มีอยู่ ฉันไม่รู้อะไรเลยที่สามารถทดแทนสายตามนุษย์สำหรับการทดสอบ UI / การนำเสนอแม้ว่าคุณสามารถทำบางสิ่งเพื่อช่วยเหลือได้ (ถ่ายภาพหน้าจอของหน้าเว็บในแต่ละขั้นตอนเพื่อให้ผู้ใช้ตรวจสอบ)


"คุณจะต้องทำทั้งสองอย่างถ้าคุณต้องทำการทดสอบ IE และ FF" - ซีลีเนียมไม่สามารถทำได้ทั้งสองอย่าง?
marcumka

1
ซีลีเนียม rc สามารถทำเช่นซาฟารีและ ff
redsquare

คุณสามารถบันทึกเฉพาะใน FF แต่คุณสามารถใช้ RC เพื่อควบคุมทั้ง IE และ FF (และอาจจะคนอื่น ๆ )
เจฟมาร์ติน

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