1.簡介
前邊幾篇文章是宏哥自己在本地弄了一個單選和多選的demo,然后又找了網上相關聯的例子給小伙伴或童鞋們演示了一下如何自動化測試,這一篇宏哥在網上找了一個問卷調查,給小伙伴或童鞋們來演示一下。上一篇中的一些單選和多選的基本概念都介紹了,這里就不做贅述了。直接上項目實戰。
2.項目實戰
2.1問卷調查
1.測試問卷調查的地址:
https://www.sojump.com/m/2792226.aspx/
2.問卷頁面,如下圖所示:
2.2答題思路
自動化測試答題思路,其實和前邊單選多選的遍歷差不多,具體思路如下:
1.首先找到所有單選和多選按鈕的共同點。
2.使用共同點來定位單選和多選按鈕,將其放在list容器中。
3.利用for循環將其(單選和多選按鈕)從容其中一一遍歷出來,進行click。
2.3代碼設計
根據答題中的遍歷思路進行代碼設計如下圖所示:
2.4參考代碼
package lessons; import java.util.ArrayList; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; /** * @author 北京-宏哥 * * 《手把手教你》系列技巧篇(三十六)-java+ selenium自動化測試-單選和多選按鈕操作-番外篇(詳解教程) * * 2021年10月27日 */ public class RadioTest { public static void main(String[] args) throws Exception { System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); driver.get("https://www.sojump.com/m/2792226.aspx/"); Thread.sleep(1000); // 把單選按鈕放在一個list里面 ArrayList<WebElement> answer_options = (ArrayList<WebElement>) driver.findElements(By.xpath("//*/div[@id='divQuestion']/fieldset/div/div/div/span/input/../a")); for(WebElement ele : answer_options){ ele.click(); Thread.sleep(1500); } } }
2.5運行代碼
1.運行代碼,右鍵Run AS->java Application,控制台輸出,如下圖所示:
2.運行代碼后電腦端的瀏覽器的動作,如下小視頻所示:
3.小結
好了,今天其實就是對前邊單選和多選循環的一次總結和實踐。其他的也沒有新的東西,今天就分享到這里,感謝您耐心的閱讀!