51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3622|回复: 3
打印 上一主题 下一主题

【佳乐Selenium】DAY-1 登录,初识XPath

[复制链接]
  • TA的每日心情
    开心
    2024-10-4 10:34
  • 签到天数: 1208 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2015-3-3 15:54:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    之所以开始使用Selenium

    是因为在我们的UI在一年内进行第三次变革后

    QTP无法识别了

    所以开始学习Selenium

    而且在2014年我收获了一个很好的老师

    小何老师~~

    有人带着进步真的是神速的

    以下总结的是小何老师指点我的知识

    我们的项目只支持chrome浏览器

    DAY-1

    开始录制登录页面,结果发现登录按钮无法识别,百度出来结果是className不能包含空格 而我们的项目几乎全是。。。

    一、
    Compound class names are not supported
    问题分析
    WerbDriver中by.className() 不支持含有空格的class名称,第1行代码中,className"btn btn-primary"中包含空格,引发报错。
    解决方案
    使用通配符,修改className,使其不包含空格
    更换其他属性识别

    小何老师:使用xpath定位
    在按钮上右键审查元素-点击定位到的代码处-右键Copy XPath

    ===============================================
    练习FireFox 的Selenium IDE从网上找了段代码
    public class TestHello {

        public static void main(String[] args) {
            
            //如果火狐浏览器没有默认安装在C盘,需要制定其路径
            //System.setProperty("webdriver.firefox.bin", "D:/Program Files/Mozilla firefox/firefox.exe");
            WebDriver driver = new FirefoxDriver();
            driver.get("http://www.baidu.com/");
            
            driver.manage().window().maximize();
            
            WebElement txtbox = driver.findElement(By.name("wd"));
            txtbox.sendKeys("Glen");
            
            WebElement btn = driver.findElement(By.id("su"));
            btn.click();
            
            driver.close();

        }

    }
    ===============================================
    还发生过一个小插曲,就是我从网上找了段代码 反正也能用 但是何老师说是Selenium1的写法

    public class Login {
        public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver", "C:/chromedriver.exe");

        WebDriver driver = new ChromeDriver();
            driver.get("http://IP:端口/login.shtml");
            
            driver.manage().window().maximize();
            
            WebElement username = driver.findElement(By.name(""));
            username.sendKeys("");
            
            密码同username

            WebElement btnLogin = driver.findElement(By.xpath(""));
            
            btnLogin.click();
            
           // driver.close();

        }

    }
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2015-3-3 16:13:44 | 只看该作者
    感谢分享,不过发一个帖子里是不是看起来可以方便点
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-10-4 10:34
  • 签到天数: 1208 天

    连续签到: 1 天

    [LV.10]测试总司令

    4#
     楼主| 发表于 2020-5-11 13:27:33 | 只看该作者
    andyclock 发表于 2015-3-3 16:13
    感谢分享,不过发一个帖子里是不是看起来可以方便点

    总结帖在这里
    http://bbs.51testing.com/thread-1046670-1-1.html
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-9 05:45 , Processed in 0.060539 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表