美文网首页
Selenium基础知识

Selenium基础知识

作者: 该帐号已被查封_才怪 | 来源:发表于2020-05-27 23:00 被阅读0次

前几天在这篇文章里提到了Selenium----Puppeteer资料汇总及其与Selenium对比,这次梳理一下Selenium基础知识:

一、selenium IDE,selenium Grid, selenium Webdriver分别是什么?

selenium RC, selenium IDE,selenium Grid, selenium Webdriver分别是什么?

image.png
图取自 https://blog.csdn.net/qq_31524409/article/details/100725437 image.png
图截自官方文档 https://www.selenium.dev/documentation/zh-cn/getting_started/quick/

二、Selenium 入门例子

1、npm init
2、npm install selenium-webdriver
3、通过 官网文档这里

image.png

下载谷歌、火狐和Edge对应的驱动,并放置在项目根目录下;或者你可以设置环境变量 https://www.selenium.dev/documentation/zh-cn/webdriver/driver_requirements/#adding-executables-to-your-path

4、在项目根目录新建example.js文件

const {Builder, By, Key, until} = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
// chrome.setDefaultService(new chrome.ServiceBuilder('./chromedriver_win32').build());
const fs = require('fs');

(async function example() {
    const browserArray=['MicrosoftEdge','chrome','firefox'];
    async function startBrowserAndDoNext(BrowserName) {
        let driver = await new Builder().forBrowser(BrowserName).build();
        try {
            await driver.get('https://www.baidu.com');
            await driver.findElement(By.id('kw')).sendKeys(BrowserName, Key.RETURN);
            await driver.wait(until.titleIs(BrowserName+'_百度搜索'), 10000);
            //返回页面png截图
            await  driver.takeScreenshot().then((res)=>{
                // 写入文件
                let writerStream = fs.createWriteStream(BrowserName+'.png');
                writerStream.write(res.toString(), 'base64');
                writerStream.end();
                console.log('截图完毕')
            }).catch((err)=>{
                console.log('截图出现错误了'+err)
            })
            // await driver.quit();

        }catch (error){
            console.log('内部出错了'+error)
        }


    }


    browserArray.forEach((item)=>{
       startBrowserAndDoNext(item)
    })




})();

5、执行node example 即可看到自动打开谷歌、火狐及Edge浏览器,并在百度上输入 对应的浏览器名字并截图相应的搜索结果至项目根目录;


image.png

三、Selenium 资料汇总

a、npm https://www.npmjs.com/package/selenium-webdriver
b、api https://www.selenium.dev/selenium/docs/api/javascript/index.html
c、官方教程文档 https://www.selenium.dev/documentation/zh-cn/getting_started/
d、官网 https://www.selenium.dev/
e、非官方教程 https://wizardforcel.gitbooks.io/selenium-doc/content/official-site/selenium-web-driver.html
https://wizardforcel.gitbooks.io/selenium-webdriver-simple-tutorial/content/1.html
f、常用api
https://blog.csdn.net/wu5229485/article/details/102511708
https://www.cnblogs.com/Ming8006/p/5727542.html

四、其他

1、如果想在 iOS 上实现 Safari 自动化,可以考虑 Appium,它是一个开源的、跨平台的自动化测试框架,可以用来测试Native App、混合应用、移动Web应用(H5应用)
资料 https://help.aliyun.com/document_detail/93721.html

2、Cypress
UI自动化测试神器->Cypress
3、katalon 比Selenium更强大的工具 https://www.katalon.com/katalon-recorder-vs-selenium-ide/

image.png

相关文章

网友评论

      本文标题:Selenium基础知识

      本文链接:https://www.haomeiwen.com/subject/lmviahtx.html