手动注册租户使用自己账号登录

手动注册租户
使用Java+Selenium+TestNG实现以下功能

代码中注释自己的姓名。

禁止使用Xpah的绝对路径,如:/html/body/header/nav/div[2]/ul/li[3]/a。如每出现一处,扣10分,出现2处,扣除20分,依次类推。

  1. 打开页面 https://cloud.huaxiaerp.vip/user/login
    2)使用自己的账号登录
  2. 点击左边的导航条 基本资料/供应商信息
    4)点击新增
    5)填写所有字段信息,点击"确定"
  3. 结尾使用断言

参考GPT和自己的思路:首先,感谢您向我咨询这个问题。针对这个问题,我给出以下回答:

  1. 我理解您的问题是如何使用Java+Selenium+TestNG来实现手动注册租户并使用自己的账号登录。具体实现步骤如下:
  • 打开页面 https://cloud.huaxiaerp.vip/user/login
  • 使用Java+Selenium+TestNG实现自动化输入账号密码并点击登录按钮
  • 点击左侧的导航条“基本资料/供应商信息”
  • 点击“新增”按钮
  • 通过Java+Selenium+TestNG实现自动化填写所有字段信息,点击“确定”按钮完成租户的注册
  • 最后,通过断言判断该租户注册是否成功
  1. 对于禁止使用Xpah的绝对路径这一要求,可以通过使用相对路径来避免出现绝对路径。具体实现方式是使用相对父元素选择子元素的方式来定位元素。这种方式相对路径比较简洁,易于维护,并且不会受到页面结构变化的影响。

希望我的回答能够解决您的问题。如果您还有其他问题或疑问,欢迎继续向我咨

  • 以下回答由chatgpt基于相关博客总结生成:

    首先,我们需要导入以下库:

    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。