Protractor版本大事记

protractor是一个非常优秀的测试框架,跨平台,跨浏览器,UI测试,接口测试,单元测试,都可以用它来完成。

protractor现在已经到了4.0.11,我觉得有必要梳理一下各个版本新增的功能以及各种依赖的变化。一方面可以了解protractor提供的新功能有哪些,及时使用新功能,减少工作量。另一方面也可以避免一些因配置环境导致的问题。

Protractor Versions(0.x 为原始开发版本)


0.7.0
  • 升级至 Selenium 2.24
  • 将protractor设为全局变量,不再需要require(‘protractor’);

0.8.0

  • 升级至 Selenium 2.25
  • 支持debug模式
  • protractor可以使用webdriver中所有的类

0.9.0
  • findElement可以和protractor定位器一起使用。
  • 提升命令行界面,可以传送参数–spec 来指定运行的测试脚本。
  • 添加ignoreSynchronization属性,可以关闭protractor等待Angular的动作。

    这里是一个坑,在执行case之前必须要设置这个属性。
    beforeEach(function () {browser.ignoreSynchronization = true;});
    否则就会报错:’angular can not be found on the page’


0.10.0
  • 为waitForAngular超时错误添加新的错误信息。将默认超时时间从100秒改为11秒。

    如果需要修改默认超时时间,需要driver.manage().timeouts().setScriptTimeout()

  • 添加登录的例子

  • 添加onPrepare回调函数。
    onPrepare是一个很实用的功能,这样就可以在执行测试用例之前完成一些准备工作。比如:登录,设置参数等待。

0.11.0
  • 允许直接传参给测试用例。添加参数对象params,它可以通过命令行直接将参数传递给protractor。

    example: –params.login.user ‘Joe’ –params.login.password ‘abc’

    -添加元素定位符:$和 $$

    $=element(by.css());
    $$=element.all(by.css());


0.12.0
  • 声明了一些全局的变量: $,$$,element,by,browser.现在这些变量可以直接使用,无需声明或者引用。

0.12.1
  • 优化expect的错误信息内容。
  • 优化testForAngular和waitForAngular的错误信息内容。

0.13.0
  • element.all添加了first和last方法。
  • 添加chromeOnly配置选项。选择这个设置后,可以直接把指令传给chromedriver,不再经过selenium。
  • IE可以获取当前页面的URL地址。
  • 为bad jar path添加错误信息。
  • 添加自定义定位器的功能。
  • 升级至angular 1.2。

0.14.0
  • 重写了安装运行selenium和webdriver的脚本。

    webdriver-manager update 将下载最新的webdriver,包括IE driver。
    webdriver-manager start 将启动selenium-standalone-server。

  • 如果未指定selenium和webdriver,将使用默认路径。

  • config.js中的所有路径都是相对于自身的相对路径。

0.15.0
  • 升级依赖包minijasminenode至0.2.6。

    升级后框架能够识别iit和ddescribe。通过这两个可以控制测试用例的运行。

  • 默认情况下将webdriver信息从堆栈信息中移除来提高可读性。
  • by.model可用,可以定位选择菜单和textareas。
  • ignoreSynchronization可以影响browser.get。
  • element.all声明了each方法。
    element.all(by.model(‘foo’)).each(function(webElement) {
    // Do stuff with webElement.
    });
  • by.repeat支持多个ng-repeat(ng-repeat-start,ng-repeat-end)。

0.16.1
  • beat版本支持使用Mocha作为测试框架。
  • webdriver-manager添加命令指定selenium 端口。

    $ webdriver-manager start –seleniumPort 4443


0.17.0

-支持元素链定位元素,在最后一个元素调用其他方法之前,任何方法都不会执行。

var elem = element(by.id(‘outer’)).element(by.css(‘inner’));

-添加回调函数onCleanUp能够在所有用例执行完后被触发。

-为element.all添加map()方法。

-允许使用coffeescript的配置文件。


0.18.0

-添加两个定位器:by.buttonText, by.partialButtonText

-允许使用livescript配置文件

-增加browser.get()的超时时间。


0.19.0

-允许多个runner。

-添加removeMockModule方法

-添加转换器用于cucumber.js


0.20.0

-升级selenium至2.40.0和下载地址

-允许自定义jasmine匹配器

-允许在cucumber测试中使用多个标签。


0.21.0

-控制台输出浏览器汇总信息

-允许定义多个测试集并通过命令行分开运行

-顺序展示错误的堆栈信息和方法失败的细节

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值