小编Eug*_*e S的帖子

如何在黄瓜的特征背景“给定”语句中传递变量?

@TestHomeValidation
Feature:copy function test

  Background:
    Given I am running test in "VARIABLE" environment
Run Code Online (Sandbox Code Playgroud)

我可以VARIABLE在上述给定的背景下使用吗?我想从属性文件传递此VARIABLE值。

java cucumber gherkin jgiven

7
推荐指数
1
解决办法
5403
查看次数

无法在Selenium WebDriver中启动IE浏览器

我已经编写了一个示例代码来启动IE browser和加载Google页面。

public class Sample {

 public static void main(String[] args) 
  {
    // TODO Auto-generated method stub
    System.setProperty("webdriver.ie.driver","H:/IEDriverServer.exe");
    WebDriver driver=new InternetExplorerDriver();
    driver.manage().window().maximize();
    driver.manage().timeouts().implicitlyWait(10,TimeUnit.SECONDS);

    driver.get("http://www.google.com");
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此脚本时,它将启动浏览器,并立即关闭(少于2秒),而不会提示任何错误,并且脚本不会终止。

这是我在控制台屏幕上看到的:

启动InternetExplorerDriver服务器(32位)

2.53.1.0

在端口46974上侦听

仅允许本地连接

谁能在这个问题上帮助我?

selenium selenium-ide selenium-webdriver selenium-iedriver

6
推荐指数
1
解决办法
2万
查看次数

无法执行目标 org.apache.maven.plugins:maven-dependency-plugin:2.10

尝试installMaven 项目时出现此错误:

[错误] 无法在项目功能测试中执行目标 org.apache.maven.plugins:maven-dependency-plugin:2.10:analyze-only (analyze-only) on project functions-tests: Dependency Problems found -> [Help 1]

它出现在集成测试之后,在该verify阶段。由于日志提供的其他信息不多,我几乎无法猜测该在哪里查看。我尝试使用-X参数运行 maven 以进行更深入的了解,但这是唯一出现的错误。在详细日志中出现错误之前,我看到的最后一件事是下面的警告(我怀疑与错误有关):

[WARNING] Used undeclared dependencies found:
[WARNING]    javax.activation:activation:jar:1.1:test
[WARNING] Unused declared dependencies found:
[WARNING]    org.slf4j:slf4j-log4j12:jar:1.7.6:compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 27.090 s
[INFO] Finished at: 2017-06-28T10:58:54+08:00
[INFO] Final Memory: 60M/1042M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.10:analyze-only (analyze-only) on project functional-tests: Dependency problems found -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute …
Run Code Online (Sandbox Code Playgroud)

java maven

6
推荐指数
2
解决办法
1万
查看次数

如何使用Java代码在selenium中设置Chrome浏览器的代理

我正在尝试运行我的selenium java代码来测试网页.但由于网络限制,网页无法加载.当我手动设置代理并在浏览器中点击URL时,它工作正常.现在我需要在运行selenium代码时传递这些代理设置.请帮帮我.

我试过下面的代码,但它仍然显示相同的错误:

Proxy p=new Proxy();


// Set HTTP Port to 7777
p.setHttpProxy("www.abc.com:8080");

// Create desired Capability object
DesiredCapabilities cap=new DesiredCapabilities();

// Pass proxy object p
cap.setCapability(CapabilityType.PROXY, p);

// Open  firefox browser
WebDriver driver=new ChromeDriver(cap);
Run Code Online (Sandbox Code Playgroud)

java proxy selenium

6
推荐指数
3
解决办法
2万
查看次数

为什么SIP和PyQt4不能相处

我在Windows中完成了大部分工作,并且设置了一个像我喜欢的好的python27.我最近安装了virtualBox并在其上运行了一个Ubuntu机器,我正在尝试安装PyQt4.我从apt-get安装并更新了所有内容,但是,当我尝试从PyQt4导入时

from PyQt4 import QtCore
Run Code Online (Sandbox Code Playgroud)

我得到一个runtimeError:

RuntimeError: the sip module implements API v9.0 to v9.1 but the PyQt4.QtCore module requires API v8.1
Run Code Online (Sandbox Code Playgroud)

我确信这是一个问题,我将在Windows中拥有知识库,但我的Linux缺乏经验在这里变得更好,我安装了错误的东西.这个错误让我相信我有一个对我的PyQt版本来说过于花哨的SIP版本......任何人都有这方面的经验吗?

编辑:如果我收到错误后再次尝试导入它似乎工作.这样做我获得了版本信息.

cfg.pyqt_version_str
Out[9]: '4.9.3'
cfg.sip_version_str
Out[10]: '4.14.3-snapshot-55188026fe6d'
Run Code Online (Sandbox Code Playgroud)

不确定快照业务的全部内容.

python pyqt4 python-sip

5
推荐指数
1
解决办法
1万
查看次数

记录消息在控制台Python中出现两次

我发现这个答案,但一个看似类似的问题,(因为我是新手到Python)的我不知道如何实现我的这个代码的解决方案(如果是同样的问题,毕竟).

在我的代码中,我有以下部分:

logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
                    filename='C:\\Tests\\TRACE.log',
                    filemode='a')
console = logging.StreamHandler()
console.setLevel(logging.INFO)
consoleFormatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
console.setFormatter(consoleFormatter)
logging.getLogger('').addHandler(console)
localLog = logging.getLogger('text')
Run Code Online (Sandbox Code Playgroud)

有趣的是,它过去工作正常,但在某些时候它开始将这些重复的消息写入控制台.

请问有人给我指点吗?

python logging jython

5
推荐指数
2
解决办法
4768
查看次数

黄瓜步骤如春豆

我在我的项目中使用 Spring、Cucumber 和 Junit。测试@ContextConfiguration运行器带有注释,因此它在运行套件之前创建一个 Spring 上下文。

我希望SpringStep Definition类实例化为 Spring bean,以便我可以注入我的依赖项并在步骤中使用它们。可以通过将类声明为@Component.

到现在为止还挺好。问题是Cucumber 将再次实例化步骤定义,并且不会使用 Spring 创建的带有注入依赖项的 bean。

让 Cucumber 使用 Spring 实例化的 Step 定义的任何想法?

java spring cucumber cucumber-jvm

5
推荐指数
1
解决办法
1328
查看次数

如何使用 Cucumber runner 加载 Spring 应用程序上下文

我的目标是运行 Cucumber 场景,同时使用 Spring 进行对象创建和连接。据我了解(来自一些 Cucumber 书籍),只要路径配置正确,Cucumber 运行程序就应该负责加载应用程序上下文。

例如,如果我有一个如下所示的运行器 Java 类:

@RunWith(Cucumber.class)
@CucumberOptions(features = {"classpath:xxx_features"}, 
                 glue = {"com.package.name"})

public class FunctionalDevIT {
}
Run Code Online (Sandbox Code Playgroud)

然后 Cucumber runner 将自动扫描并初始化它找到的所有 bean,这样我就不必手动加载应用程序上下文以及从上下文中一一获取 bean。

目前,为了理解这个概念,我创建了最基本的配置,其中包含三个 Java 类:

  1. 跑步者类别(如上所述)
  2. Beans 类 - 包含 Bean 的类

    @Component
    public class BeansClass {
    
        @Bean
        public void test1() {
            System.out.println("test1!");
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 主类 - 使用 Beans 类中定义的 beans 的类

    @ContextConfiguration("classpath:/cucumber.xml")
    public class MainClass {
    
        @Autowired
        private BeansClass testclass;
    
        @Before
        public void navigate() {
            testclass.test1();
        }
    } …
    Run Code Online (Sandbox Code Playgroud)

java junit spring automation cucumber

5
推荐指数
1
解决办法
6569
查看次数

Maven 没有运行黄瓜测试

任何人都可以建议为什么我无法使用 Maven 运行任何测试。

  1. 配置了 Surefire 插件
  2. 胶水代码设置在runner类下
  3. “测试”被附加到跑步者类

注意:如果我RunnerTest.java以 Junit 身份运行我的文件,它会正确运行所有场景。只有当我使用 Maven 运行它时,才运行测试。

我错过了任何依赖吗?或者是否有任何冲突发生?请参考我所附的项目结构图像和我的 POM 文件。

项目结构图

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.cucumber</groupId>
<artifactId>MavenCucumber_RocketTV</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>

<name>MavenCucumber_RocketTV</name>
<url>http://maven.apache.org</url>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
            <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.18.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.maven.surefire</groupId>
        <artifactId>surefire-junit4</artifactId>
        <version>2.18.1</version>
    </dependency>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>19.0</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-jvm-deps</artifactId>
        <version>1.0.3</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.53.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
        <version>2.53.1</version> …
Run Code Online (Sandbox Code Playgroud)

java automated-tests cucumber maven

5
推荐指数
2
解决办法
8134
查看次数

如何适应API的变化

我有一个依赖于某个库的大型项目.其中一个库类暴露了以下方法:

public void until(final Predicate<T> isTrue)
public <V> V until(Function<? super T, V> isTrue) {
Run Code Online (Sandbox Code Playgroud)

在哪里PredicateFunction是:

com.google.common.base.Predicate<T>
com.google.common.base.Function<? super T, V>
Run Code Online (Sandbox Code Playgroud)

在该库的最后一个版本中,上述内容已经更改,并通过弃用(删除)public void until(final Predicate<T> isTrue)方法和修改第二个方法进行了重构,如下所示:

public <V> V until(Function<? super T, V> isTrue)
Run Code Online (Sandbox Code Playgroud)

功能现在在哪里java.util.function.Function<? super T, V>.

据我所知,上述更改已完成,以完全支持Java 8功能,特别是lambda表达式.

现在问我的问题.虽然我可以将所有until使用此方法的已弃用版本的调用转换为新结构,但我担心调用此方法的位置太多.有没有办法可以继续使用旧的(已弃用的)方法,也许可以在其他地方重新声明它或某种类型的东西?任何可以解决这个问题的方法都很乐意接受.

java lambda design-patterns java-8

5
推荐指数
1
解决办法
147
查看次数