生活随笔
收集整理的這篇文章主要介紹了
功能测试——房屋租赁系统(Selenium IDE)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
源代碼:https://gitee.com/shentuzhigang/mini-project/tree/master/test-house-rental
測試需求
打開瀏覽器(請用 Google 或 者 Firefox ,其他瀏覽器會產生樣式不適配) 輸入:http://114.215.176.95:60513/text2/ ,以管理員身份登錄賬號 admin,密碼 123456
管理員:賬號 admin,密碼 123456
租客:賬號 空格,密碼 空格
點擊左側菜單欄查看房源列表,任意選擇一個房屋點擊修改按鈕
修改房源信息: 修改租賃價格為 700.0,完成后點擊提交
在上面同一位置,添加房源信息
合理化輸入房屋 ID、地址、面積、租金、狀態選擇未租賃,點擊提交
點擊左側菜單欄租賃及合同信息選項下的在租列表,選擇任一一個合同,點擊查看合同,進入合同詳情頁面
修改合同,每月交租日改為 2,點擊修改按鈕提交。
點擊租金信息下的我要收租選項,選擇任一房屋,點擊收租查看詳情
點擊菜單欄租客已繳租金,輸入姓名李四,查詢租客信息
點擊退出登錄按鈕,測試結束
測試步驟
Selenium 腳本錄制導出Junit測試完善腳本
import org
.junit
.Test
;
import org
.junit
.Before
;
import org
.junit
.After
;
import static org
.junit
.Assert
.*
;
import static org
.hamcrest
.CoreMatchers
.is
;
import static org
.hamcrest
.core
.IsNot
.not
;
import org
.openqa
.selenium
.By
;
import org
.openqa
.selenium
.WebDriver
;
import org
.openqa
.selenium
.firefox
.FirefoxDriver
;
import org
.openqa
.selenium
.chrome
.ChromeDriver
;
import org
.openqa
.selenium
.remote
.RemoteWebDriver
;
import org
.openqa
.selenium
.remote
.DesiredCapabilities
;
import org
.openqa
.selenium
.Dimension
;
import org
.openqa
.selenium
.WebElement
;
import org
.openqa
.selenium
.interactions
.Actions
;
import org
.openqa
.selenium
.support
.ui
.ExpectedConditions
;
import org
.openqa
.selenium
.support
.ui
.WebDriverWait
;
import org
.openqa
.selenium
.JavascriptExecutor
;
import org
.openqa
.selenium
.Alert
;
import org
.openqa
.selenium
.Keys
;
import java
.util
.*
;
import java
.net
.MalformedURLException
;
import java
.net
.URL
;
public class Test1Test {private WebDriver driver
;private Map
<String, Object> vars
;JavascriptExecutor js
;@Beforepublic void setUp() {driver
= new ChromeDriver();js
= (JavascriptExecutor
) driver
;vars
= new HashMap<String, Object>();}@Afterpublic void tearDown() {driver
.quit();}@Testpublic void test1() {driver
.get("http://114.215.176.95:60513/text2/");driver
.manage().window().setSize(new Dimension(1552, 840));driver
.findElement(By
.name("username")).click();driver
.findElement(By
.name("username")).sendKeys("admin");driver
.findElement(By
.name("password")).sendKeys("123456");driver
.findElement(By
.id("login-button")).click();driver
.findElement(By
.cssSelector(".container")).click();driver
.findElement(By
.linkText("房源列表")).click();driver
.findElement(By
.cssSelector("tr:nth-child(3) .link-update")).click();driver
.findElement(By
.id("price")).click();driver
.findElement(By
.id("price")).sendKeys("700.0");driver
.findElement(By
.cssSelector(".btn-primary")).click();driver
.findElement(By
.linkText("添加房源")).click();driver
.findElement(By
.id("houseid")).click();driver
.findElement(By
.id("houseid"))..sendKeys("a10086");driver
.findElement(By
.id("address")).click();driver
.findElement(By
.id("address")).sendKeys("615黃記煌三汁燜鍋");driver
.findElement(By
.id("area")).click();driver
.findElement(By
.id("area")).sendKeys("1000000000000000000000000000000000000000000000000000000000000");driver
.findElement(By
.id("price")).click();driver
.findElement(By
.id("price")).sendKeys("700.0");driver
.findElement(By
.cssSelector("tr:nth-child(5) > td")).click();driver
.findElement(By
.id("status")).click();{WebElement dropdown
= driver
.findElement(By
.id("status"));dropdown
.findElement(By
.xpath("//option[. = '未租賃']")).click();}driver
.findElement(By
.id("status")).click();driver
.findElement(By
.cssSelector(".btn-primary")).click();driver
.findElement(By
.linkText("在租列表")).click();driver
.findElement(By
.linkText("查看合同")).click();driver
.findElement(By
.name("hetong")).click();driver
.findElement(By
.cssSelector(".btn-primary")).click();driver
.findElement(By
.cssSelector("tr:nth-child(10)")).click();driver
.findElement(By
.id("payday")).sendKeys("2");driver
.findElement(By
.cssSelector(".btn-primary")).click();driver
.findElement(By
.linkText("我要收租")).click();driver
.findElement(By
.linkText("收租")).click();driver
.findElement(By
.cssSelector("tr:nth-child(2) > td")).click();driver
.findElement(By
.id("address")).click();driver
.findElement(By
.id("address")).click();driver
.findElement(By
.id("date")).click();driver
.findElement(By
.linkText("11")).click();driver
.findElement(By
.id("zuke")).click();driver
.findElement(By
.id("zuke")).sendKeys("700.0");driver
.findElement(By
.cssSelector(".btn-primary")).click();}
}
移除Junit并優化
package io
.shentuzhigang
.test
.houserental
;import org
.openqa
.selenium
.chrome
.ChromeDriver
;
import org
.openqa
.selenium
.WebDriver
;
import org
.openqa
.selenium
.WebElement
;
import org
.openqa
.selenium
.By
;
import org
.openqa
.selenium
.By
;
import org
.openqa
.selenium
.WebDriver
;
import org
.openqa
.selenium
.firefox
.FirefoxDriver
;
import org
.openqa
.selenium
.chrome
.ChromeDriver
;
import org
.openqa
.selenium
.remote
.RemoteWebDriver
;
import org
.openqa
.selenium
.remote
.DesiredCapabilities
;
import org
.openqa
.selenium
.Dimension
;
import org
.openqa
.selenium
.WebElement
;
import org
.openqa
.selenium
.interactions
.Actions
;
import org
.openqa
.selenium
.support
.ui
.ExpectedConditions
;
import org
.openqa
.selenium
.support
.ui
.WebDriverWait
;
import org
.openqa
.selenium
.JavascriptExecutor
;
import org
.openqa
.selenium
.Alert
;
import org
.openqa
.selenium
.Keys
;
public class Example {public static void test(WebDriver driver
) {driver
.get("http://114.215.176.95:60513/text2/");driver
.manage().window().setSize(new Dimension(1552, 840));driver
.findElement(By
.name("username")).sendKeys("admin");driver
.findElement(By
.name("password")).sendKeys("123456");driver
.findElement(By
.id("login-button")).click();driver
.findElement(By
.cssSelector(".container")).click();driver
.findElement(By
.linkText("房源列表")).click();driver
.findElement(By
.linkText("修改")).click();driver
.findElement(By
.id("price")).clear();driver
.findElement(By
.id("price")).sendKeys("700");driver
.findElement(By
.cssSelector(".btn-primary")).click();driver
.findElement(By
.linkText("添加房源")).click();driver
.findElement(By
.id("houseid")).sendKeys("a100861");driver
.findElement(By
.id("address")).sendKeys("615黃記煌三汁燜鍋");driver
.findElement(By
.id("area")).sendKeys("1000");driver
.findElement(By
.id("price")).sendKeys("700.0");{WebElement dropdown
= driver
.findElement(By
.id("status"));dropdown
.findElement(By
.xpath("//option[. = '未租賃']")).click();}driver
.findElement(By
.id("status")).click();driver
.findElement(By
.cssSelector(".btn-primary")).click();driver
.findElement(By
.linkText("租賃及合同信息")).click();driver
.findElement(By
.linkText("在租列表")).click();driver
.findElement(By
.linkText("查看合同")).click();driver
.findElement(By
.name("hetong")).click();driver
.findElement(By
.cssSelector(".btn-primary")).click();driver
.findElement(By
.cssSelector("tr:nth-child(10)")).click();driver
.findElement(By
.id("payday")).clear();driver
.findElement(By
.id("payday")).sendKeys("2");driver
.findElement(By
.cssSelector(".btn-primary")).click();driver
.findElement(By
.linkText("租客已繳租金")).click();driver
.findElement(By
.id("zuname")).sendKeys("cwy");driver
.findElement(By
.name("sub")).click();driver
.findElement(By
.linkText("我要收租")).click();driver
.findElement(By
.linkText("收租")).click();driver
.findElement(By
.id("date")).click();driver
.findElement(By
.linkText("11")).click();driver
.findElement(By
.id("zuke")).clear();driver
.findElement(By
.id("zuke")).sendKeys("700.0");driver
.findElement(By
.cssSelector(".btn-primary")).click();}public static void main(String
[] args
) {WebDriver driver
= new ChromeDriver();try { test(driver
); }catch(Exception e
) { e
.printStackTrace(); }finally { driver
.quit(); }}}
測試結果
常見問題
Selenium3+MoocTest環境搭建常見問題解決方案
參考文章
功能測試——醫療管理系統
總結
以上是生活随笔為你收集整理的功能测试——房屋租赁系统(Selenium IDE)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。