บทช่วยสอน Robotium: ครั้งแรกของคุณ Android กรอบ
โรโบเทียมคืออะไร?
Robotium คือกรอบงานการทดสอบของ Android ที่ใช้สร้างกรณีทดสอบอัตโนมัติสำหรับแอปพลิเคชันเนทีฟและไฮบริด ด้วยการใช้ Robotium นักพัฒนาสามารถสร้างกรณีทดสอบ GUI อัตโนมัติที่แข็งแกร่งสำหรับ Android การใช้งาน นอกจากนี้ นักพัฒนายังสามารถเขียนสถานการณ์การทดสอบการทำงาน ระบบ และการยอมรับ ซึ่งแพร่กระจายไปมากมาย Android กิจกรรม.
กรอบการทดสอบโรโบเทียม
Standard Android กรอบการทดสอบมีข้อจำกัดบางประการดังนี้
- ไม่สามารถจัดการหลายกิจกรรมได้
- ประสิทธิภาพการดำเนินการทดสอบช้า
- กรณีทดสอบมีความซับซ้อนและยากต่อการนำไปใช้
หุ่นยนต์กรอบ เป็นทางเลือกที่ดีกว่าในการทำการทดสอบ Android ใบสมัคร
Robotium เป็นเฟรมเวิร์กโอเพ่นซอร์สและถือเป็นส่วนขยายของ Android กรอบการทดสอบ การใช้ Robotium นักพัฒนาสามารถสร้างกรณีทดสอบ GUI อัตโนมัติที่มีประสิทธิภาพได้ Android การใช้งาน นอกจากนี้ นักพัฒนายังสามารถเขียนสถานการณ์การทดสอบการทำงาน ระบบ และการยอมรับได้ ซึ่งครอบคลุมหลายสถานการณ์ Android กิจกรรม.
.png)
คลาสกรณีทดสอบโรโบเทียม
Robotium ใช้ชุดของคลาส (com.jayway.android.robotium.solo) สำหรับการทดสอบ คลาสนี้รองรับกรณีทดสอบที่ครอบคลุมหลายกิจกรรม Solo ถูกรวมเข้ากับ ActivityInstrumentationTestCase2
ผู้ทดสอบสามารถเขียนกรณีทดสอบโดยไม่ต้องมีความรู้เกี่ยวกับการออกแบบแอปพลิเคชัน (การทดสอบกล่องดำ) โดยใช้คลาสกรณีทดสอบของ Robotium ถือเป็นคุณสมบัติที่โดดเด่นเมื่อเทียบกับ Android คลาสกรณีทดสอบ
วิธีการใช้งานโรโบเทียม
หากต้องการใช้ Robotium ในตัวคุณ Android โครงการทดสอบ คุณต้องทำตามขั้นตอนด้านล่าง
การใช้ Robotium เพื่อทำการทดสอบ Android แอปพลิเคชัน. เพื่อรับประกันคุณภาพของคุณ Android การสมัครคุณควรปฏิบัติตามขั้นตอนด้านล่าง
- ข้อกำหนดการทดสอบการออกแบบ
- พัฒนาโปรแกรมทดสอบ
- ดำเนินงาน กรณีทดสอบ บนอุปกรณ์เป้าหมาย
- รวบรวมผลการทดสอบ
ขั้นตอนที่ 1) ข้อกำหนดการทดสอบการออกแบบ
- นี่เป็นขั้นตอนแรกในการทดสอบแอปพลิเคชันของคุณ ในขั้นตอนนี้ คุณจะต้องกำหนดเป้าหมายที่จะทดสอบ ในตัวคุณ Android มีเป้าหมายหลายอย่างที่ต้องทดสอบ เช่น UI กิจกรรม ส่วนประกอบ บริการ การกำหนดเป้าหมายในแอปพลิเคชันของคุณอย่างชัดเจนจะช่วยให้ได้รับการทดสอบที่ครอบคลุมในวงกว้าง
- วางแผนประเภทการทดสอบที่ควรดำเนินการ (การทดสอบหน่วย การทดสอบการทำงาน การทดสอบระบบ)
- ออกแบบกรณีทดสอบเพื่อความครอบคลุมสูงสุดแต่ลดจำนวนกรณีทดสอบให้เหลือน้อยที่สุด ยิ่งมีการทดสอบโค้ดมากเท่าไรก็ยิ่งมีโอกาสตรวจพบข้อบกพร่องตั้งแต่เนิ่นๆ มากขึ้นเท่านั้น
ขั้นตอนที่ 2) เขียนโปรแกรม TEST
ส่วนนี้จะแนะนำวิธีการเขียน Android ทดสอบการใช้งานโปรแกรม Android จูนิต การทดสอบและโรโบเทียม สมมติว่าคุณได้พัฒนาแล้ว Android ชื่อโปรแกรม สวัสดีAndroid- โปรแกรมนี้มีฟังก์ชั่นบางอย่างที่อธิบายไว้ด้านล่าง:
- แสดงข้อความ “สวัสดีชาวโลก!” บนหน้าจอ.
- แสดงข้อความ สวัสดีAndroid เมื่อผู้ใช้กดปุ่ม “Start”
ความต้องการของระบบ
- Android แพลตฟอร์มมาพร้อมกับการบูรณาการล่วงหน้า JUnit กรอบการทำงาน 3.0
- เพื่อที่จะสร้าง Android ทดสอบโครงการจาก Eclipseคอมพิวเตอร์ของคุณต้องติดตั้งไว้:
- รุ่นล่าสุด Android แพลตฟอร์ม (ปัจจุบัน Android 8.1)
คุณสามารถ ดาวน์โหลด Eclipse IDE พร้อม ADT ในตัว (Android เครื่องมือสำหรับนักพัฒนา). มันรวมถึงสิ่งที่จำเป็น Android ส่วนประกอบ SDK และเวอร์ชันของ Eclipse ไอดี
สำหรับกรอบการทดสอบ Robotium คุณต้องดาวน์ไลบรารี Robotium หน้าเว็บโรโบเทียม.
สร้างบัญชีตัวแทน Android โครงการทดสอบ
- คลิกไฟล์ -> ใหม่ -> อื่น ๆ
- เลือก: Android -> Android ทดสอบโครงการตามรูปด้านล่าง -> เลือกถัดไป
เขียนชื่อโครงการทดสอบของคุณ ตามแบบแผนการตั้งชื่อ โครงการทดสอบของคุณควรชื่อว่า "สวัสดีAndroidทดสอบ"
เลือกแอปพลิเคชันเป้าหมายภายใต้การทดสอบ ในกรณีนี้คือสวัสดีAndroid คลิกเสร็จสิ้น
สร้างชุดทดสอบ
ตามข้อกำหนดการทดสอบของคุณ คุณเริ่มสร้างชุดการทดสอบสำหรับโปรแกรมทดสอบของคุณ คุณสามารถเลือกกรอบการทดสอบต่างๆ ในบทช่วยสอนนี้ ฉันเลือกมาตรฐาน Android กรอบการทดสอบ กิจกรรมเครื่องมือวัดTestCase2- คุณต้องเพิ่มไฟล์ไลบรารี Robotium ลงในไดเร็กทอรี libs ในโฟลเดอร์โปรเจ็กต์ของคุณ ในกรณีที่คุณต้องการทดสอบกับเฟรมเวิร์ก Robotium (คุณสร้างโฟลเดอร์ lib ในโฟลเดอร์โครงการของคุณ)
กรณีทดสอบจะกำหนดฟิกซ์เจอร์เพื่อทำการทดสอบหลายรายการ เพื่อกำหนดกรณีทดสอบ คุณต้องปฏิบัติตามโครงสร้างของโปรแกรมด้านล่าง:
- ใช้งานคลาสย่อยของ
TestCase
. - กำหนดตัวแปรอินสแตนซ์ที่เก็บสถานะของฟิกซ์เจอร์
- เริ่มต้นสถานะของฟิกซ์เจอร์โดยการแทนที่ setUp()
- ทำความสะอาดหลังการทดสอบโดยการแทนที่ TearDown()
package com.example.helloandroid.test; import com.example.helloandroid.HelloAndroid; import com.jayway.android.robotium.solo.Solo; import android.test.ActivityInstrumentationTestCase2; import android.widget.TextView; public class HelloAndroidTest extends ActivityInstrumentationTestCase2 <HelloAndroid> { private HelloAndroid mActivity; private TextView mView; private String resourceString; private Solo solo; public HelloAndroidTest () { // TODO Auto-generated constructor stub super("com.example.helloandroid",HelloAndroid.class); } @Override protected void setUp() throws Exception { // TODO Auto-generated method stub // super.setUp(); mActivity = this.getActivity(); solo = new Solo(getInstrumentation(),getActivity()); mView = (TextView) mActivity.findViewById(com.example.helloandroid.R.id.textview2); resourceString = mActivity.getString(com.example.helloandroid.R.string.hello_world); } @Override protected void tearDown() throws Exception { // TODO Auto-generated method stub //super.tearDown(); solo.finishOpenedActivities(); } public void testPrecondition() { assertNotNull(mView); } /* test Target application contains a text display "Hello World!"*/ public void testSearchText() { assertEquals(resourceString,(String) mView.getText()); } /* test HelloAndroid Activity on target application is exist*/ public void testCurrentActivity() throws Exception { solo.assertCurrentActivity("wrong activity", HelloAndroid.class); } /* test Application UI contains "Start" button */ /* send event click button to target application */ public void testSearchButton() throws Exception { boolean found = solo.searchButton("Start"); solo.clickOnButton("Start"); assertTrue(found); } }
การเพิ่มกรณีทดสอบ
- ในแพ็คเกจเดียวกันกับ TestSuite เราสร้างคลาส TestCase
- เพื่อทดสอบกิจกรรมบางอย่าง เช่น สวัสดีAndroidสร้างขอบเขตกรณีทดสอบ ActivityInstrumentationTestCase2Android>
- ในคลาสนี้ ผู้ทดสอบสามารถรับกิจกรรมการทดสอบผ่านเมธอด getActivity()
- คุณสามารถสร้างการทดสอบสำหรับกิจกรรมการทดสอบได้อย่างอิสระโดยสร้างวิธีการชื่อ “ทดสอบ + ชื่อวิธีการดั้งเดิม”
- ในวิธีทดสอบ ผู้ทดสอบสามารถใช้ได้ Android JUnit ฟังก์ชั่นเพื่อเปรียบเทียบมูลค่าจริงและมูลค่าที่คาดหวัง วิธีการเหล่านี้แสดงไว้ด้านล่าง
ชุดทดสอบข้างต้นตรวจสอบแล้วว่า Application GUI ต้องแสดงข้อความ “Hello World!” และมีชื่อปุ่ม “Start”
ขั้นตอนที่ 3) เรียกใช้การทดสอบ
หลังจากคุณเขียนโปรแกรมทดสอบเสร็จแล้ว ให้รันการทดสอบตามขั้นตอนด้านล่าง
- ติดตามเรา Android ไปยังพีซีของคุณ (หรือเริ่ม Emulator ในกรณีที่คุณไม่มีอุปกรณ์จริง)
- ใน IDE ของคุณ คลิกขวาที่ àRun asàAndroid การทดสอบหน่วย
นอกจากการรันการทดสอบบน IDE แล้ว คุณยังสามารถรันการทดสอบบนบรรทัดคำสั่งได้อีกด้วย ในโปรแกรมทดสอบนี้ แพ็คเกจการทดสอบคือ com.example.helloandroid.test ลินุกซ์ เทอร์มินัล คุณสามารถใช้คำสั่งต่อไปนี้เพื่อรันการทดสอบทั้งหมดในแพ็คเกจนี้:
$ adb shell am instrument -w -e แพ็กเกจ com.example.helloandroid.test
ขั้นตอนที่ 4) รับผลการทดสอบ
หลังจากดำเนินการทดสอบ คุณจะได้รับผลการทดสอบ
ในโปรแกรมทดสอบนี้ มีวิธีทดสอบ 4 วิธี ในกรณีนี้ กรณีทดสอบทั้งหมดจะผ่าน
ในกรณีที่กรณีทดสอบล้มเหลว เอาต์พุตจะแสดงขึ้นและแสดงให้คุณเห็นว่ากรณีทดสอบใดล้มเหลว
ตัวอย่างซอร์สโค้ด
บทความนี้มีตัวอย่างซอร์สโค้ดบางส่วนที่ช่วยให้คุณเข้าใจบทช่วยสอนได้ชัดเจนยิ่งขึ้นและตามทันความรู้ด้านเทคนิคได้อย่างรวดเร็ว
- สวัสดีAndroid: การใช้งานภายใต้การทดสอบ
- สวัสดีAndroidเอกสาร: ทดสอบการใช้งานโปรแกรม Android กรอบการทดสอบ