- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道是否可以在不使用 Selenium 服务器的情况下使用 Protractor 步骤运行带有 cucumber e2e 测试的 angular cli 项目设置。当我搜索此类配置时,我只能找到具有 seleniumAddress 设置的配置。
那么,是否可以在没有它的情况下运行它?
最佳答案
需要运行 W3C WebDriver 规范的服务器
从您的问题来看,您可以在没有 selenium 服务器的情况下运行 Protractor 吗?是的,如果您使用的是遵循 W3C WebDriver 的浏览器驱动程序规范。所以设置directConnect: true
(angular-cli default) 在您的配置文件中基本上告诉 Protractor 启动驱动程序二进制文件,然后 Protractor 创建一个驱动程序提供程序来与该二进制文件对话。
驱动程序提供程序选项
驱动程序提供者可以不同。您的问题也引用了seleniumAddress
.那么这是如何工作的呢?基本上, Protractor 读取您的配置文件和 decides which driver provider to launch .如果您没有使用 directConnect
并决定使用 seleniumAddress
配置中的选项,那么您可以启动附加 session 或托管驱动程序。附加 session 意味着您有一个先前的 session 正在运行,Protractor 将针对 session ID 启动测试。托管意味着您已针对正在运行的 selenium 独立服务器开始测试。通常 selenium 独立服务器是 http://localhost:4444
.
如果您遵循 buildDriverProvider
中的条件,还有其他类型的驱动程序提供商可以帮助启动您的测试。方法,您可以选择要启动的方法。显然(来自条件),如果你有 directConnect
和 seleniumAddress
,您将使用直接连接驱动程序提供程序启动。
关于 webdriver-manager 的快速说明
还有一个关于 webdriver-manager 的快速说明。如果您计划在 Firefox 上启动 Protractor 测试,则需要下载 Gecko 驱动程序。如果您使用 seleniumAddress
选项,您还需要下载 selenium-standalone 服务器。 angular-cli 仅使用以下命令下载 chromedriver,webdriver-manager update --standalone false --gecko false
.要下载其余的,只需删除设置为 false 的标志:webdriver-manager update
配置中的 cucumber
所以最后你想要带有 Protractor 的 cucumber 。 Protractor 支持 cucumber 作为自定义框架。您需要要求 protractor-cucumber-framework
.希望您在 configuration in the Protractor-cookbook 上找到了这个.
您应该将以下内容添加到您的配置中以使 cucumber 工作:
framework: 'custom',
frameworkPath: require.resolve('protractor-cucumber-framework'),
cucumberOpts: {
compiler: "ts:ts-node/register",
monochrome: true,
strict: true,
plugin: ["pretty"],
require: ['../../stepdefinitions/*.ts', '../../support/*.ts'],
//tags help us execute specific scenarios of feature files
tags: '@AddScenario,@SubtractScenario,@MultiplyScenario,@DivideScenario,@ModulusScenario'
}
关于protractor - 角度 cli + Protractor + cucumber - Selenium ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42453253/
虽然我经常来这里寻求解决方案,但这是我的第一篇文章! 问题: 尝试运行“railsgeneratecucumber:install”时我收到错误:找不到生成器 cucumber :安装 注意:在 Wi
希望我可以清楚地解释我的问题,以使其他人可以理解,在这里,假设我有以下两种假设情况: Scenario: Filter sweets by king size and nut content Give
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 7 年前。 Improv
我在下面的 cucumber 项目中设置了 cucumber 选项: 我通过 mvn 命令行使用 -Dcucumber.options 运行测试来覆盖我的项目的选项: mvn -f "pom.xml"
我试图运行一个简单的Feature文件,但是却遇到了Exception这样的异常: 线程“主” cucumber.runtime.CucumberException中的异常:解析功能文件时出错。 这是
我只是在学习 Cucumber 并注意到如果两个完全独立的特征有两个步骤不小心措辞相同,Cucumber 只为它们建议一个步骤定义。这是否意味着步骤定义是全局的并且它们是要共享的? 例子 假设一个业务
我正在尝试配置 FactoryGirl 以使用我的 Cucumber 测试。 我在 env.rb 中添加了以下几行 require 'factory_girl' Dir.glob(File.join(
有没有办法为 Cucumber 中的某个功能定义所有场景的清理步骤?我知道Background用于定义其后的每个场景的设置步骤,但是有没有办法定义在每个场景结束时发生的类似事情? 最佳答案 您可以在
Cucumber-jvm javadocs指出胶水元素的目的是指定stepdefinitions和hook的位置。但是,这似乎对我不起作用。可以说我在目录a中有我的功能,在步骤b中有我的步骤定义。然后
我必须测试一个消息路由应用程序,其功能大致如下:- 消息发送到应用程序- 应用程序检查消息- 根据消息内容,消息被转发到某处 绝大多数测试用例几乎相同;生成特定类型的消息,将其加载到系统中,等待几秒钟
在进行 BDD 时,Cucumber 似乎是指定行为的默认工具,但是 Cucumber 网站和文章看起来有点过时,而且不太活跃。 有哪些替代方案? 最佳答案 一个非常好的库,具有 Eclipse 的高
我有一个Cucumber表中,其中一个字段是一个日期,我想用今天的日期填充该日期。有没有一种方法可以做到这一点,而不必将今天的日期硬编码到表中? 基本上我想在表中输入Time.now.strftime
我有一个步骤定义,我希望其中有一个可选参数。我相信两次调用此步骤的示例比其他任何内容都更好地解释了我所追求的内容。 I check the favorite color count I check t
我在不同环境中执行 cucumber-jvm 场景时遇到问题。包含在场景特征文件中的数据属于一个环境。为了在不同的环境中执行场景,我需要根据要执行的环境更新特征文件中的数据。 例如,在以下场景中,我将
我有一个 cucumber 项目,我想获得项目中的所有标签,以便能够选择它们作为参数。 我找到了这个 question cucumber 可以选择获取标签,但我发现它不再起作用,然后我发现了另一个 q
@@file_name Feature: Addition 为了避免愚蠢的错误 作为一个数学白痴 我想被告知两个数字的总和 场景:两个数字相加 Given I have entered @number
Java v8.x - spring v5.x cucumber v4.2.0 我试过 temyers/cucumber-jvm-parallel-plugin 并且工作正常,但是当我进入他们的 gi
目前,尝试通过命令行窗口运行测试时,以下命令可以工作,但是自从从 info.cakes 更新到 io.cucumber 后,它似乎不再工作了? mvn test -Dcucumber.options=
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它. 关闭 4 年前。 Improve
如何使用 java 从我的功能中定义“我想要”步骤? 我的 cucumber 项目设置如下: 登录功能 Feature: User Login I want to test on "www.g
我是一名优秀的程序员,十分优秀!