手动注册租户
使用Java+Selenium+TestNG实现以下功能
代码中注释自己的姓名。
禁止使用Xpah的绝对路径,如:/html/body/header/nav/div[2]/ul/li[3]/a。如每出现一处,扣10分,出现2处,扣除20分,依次类推。
参考GPT和自己的思路:首先,感谢您向我咨询这个问题。针对这个问题,我给出以下回答:
希望我的回答能够解决您的问题。如果您还有其他问题或疑问,欢迎继续向我咨
首先,我们需要导入以下库:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
然后,我们需要添加以下代码:
// 设置系统属性,指定Chrome Driver的路径
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
// 创建Chrome Driver
WebDriver driver = new ChromeDriver();
// 打开页面 https://cloud.huaxiaerp.vip/user/login
driver.get("https://cloud.huaxiaerp.vip/user/login");
// 登录
WebElement username = driver.findElement(By.name("username"));
WebElement password = driver.findElement(By.name("password"));
WebElement loginBtn = driver.findElement(By.xpath("//button[contains(text(),'登录')]"));
username.sendKeys("YOUR_USERNAME");
password.sendKeys("YOUR_PASSWORD");
loginBtn.click();
// 点击左边的导航条 基本资料/供应商信息
WebElement basicInfo = driver.findElement(By.xpath("//div[@class='menu_div']/div[2]"));
basicInfo.click();
// 点击新增
WebElement addBtn = driver.findElement(By.xpath("//div[@id='erp-quickinput']//button[contains(text(),'新增')]"));
addBtn.click();
// 填写所有字段信息
WebElement nameInput = driver.findElement(By.xpath("//input[@name='customerName']"));
nameInput.sendKeys("YOUR_NAME");
WebElement contactInput = driver.findElement(By.xpath("//input[@name='contactName']"));
contactInput.sendKeys("YOUR_CONTACT_NAME");
// 依次填写所有字段信息,这里只列举了两个为例
// 最后点击"确定"
WebElement confirmBtn = driver.findElement(By.xpath("//button[contains(text(), '确定')]"));
confirmBtn.click();
// 添加一个断言来验证是否成功注册了租户
WebElement successMsg = driver.findElement(By.xpath("//div[contains(text(), '添加成功')]"));
Assert.assertTrue(successMsg.isDisplayed());
需要注意的是,在该代码中,我们没有使用 Xpath 的绝对路径,而是相对路径。这样的好处是当页面结构发生变化时,代码也可以自适应调整。
同时,我们还通过添加断言来验证是否成功注册了租户,确保之后的测试准确性。
最后,记得在代码的开始和结束添加 @BeforeMethod
和 @AfterMethod
注释,以确保在每个测试方法执行前和执行后,都会启动和关闭 Chrome Driver。