小编sil*_*ver的帖子

Cucumber-JVM 3 - 使用 asMap() 将 DataTable 转换为单个对象

在 中cucumber-jvm 3.x.x,我想将只有 2 列的数据表转换为单个对象。这曾经是自动的,2.x.x但后来在新的主要版本中被删除了。

代码:

// Feature
Scenario: Scan Barcode
    Given I Am At The Login Page
    When I Log In As Valid User
        | group    | gpao     |
        | username | svgpao1  |
        | password | REDACTED |

// Stepdef
@When("I Log In As Valid User")
public void I_Log_In_As_Valid_User(User user) throws Throwable {
    Selenium.enterText(driver, user.getUsername(), "username");
    Selenium.enterText(driver, user.getPassword(), "password");
    Selenium.clickElement(driver, "sign.in");
    LOGGER.debug("User Group=" + user.getGroup());
}

// Configurer
registry.defineDataTableType(new DataTableType(User.class, new TableTransformer<User>() {
    @Override …
Run Code Online (Sandbox Code Playgroud)

java datatable cucumber cucumber-jvm

4
推荐指数
1
解决办法
1996
查看次数

Cucumber-JVM 3 - 使用 Maven 的 Allure 2 测试报告

在这一点上,最近发布的cucumber-jvm 3.x.x,除了较旧的1.x.x文档)之外似乎没有可行的教程。

我不确定使用哪一种?

预期结果:

在运行或后使用 Maven 在 Cucumber-JVM 3中target/target/site使用 Cucumber-JVM 3生成 Allure2 测试报告。mvn testmvn verify

一个工作pom.xml@CucumberOptions被追捧。谢谢!


更新:(2018-08-31)

pom.xml

<properties>
    <!-- Project -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <app.name>Simply Do - Balance Projector</app.name>
    <!-- Maven -->
    <timestamp>${maven.build.timestamp}</timestamp>
    <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
    <!-- Allure Test Report -->
    <aspectj.version>1.9.1</aspectj.version>
    <!-- Core Dependencies -->
    <selenium.version>3.14.0</selenium.version>
    <ngwebdriver.version>1.1.4</ngwebdriver.version>
    <cucumber.version>3.0.2</cucumber.version>
    <java.version>1.8</java.version>
</properties>

<dependencies>
    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-server -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-server</artifactId>
        <version>${selenium.version}</version>
        <scope>test</scope>
    </dependency>
    <!-- …
Run Code Online (Sandbox Code Playgroud)

java cucumber maven cucumber-jvm allure

3
推荐指数
1
解决办法
5449
查看次数

根据Java中的部分文件名检查文件是否存在

我选择使用线程中的isFile()方法,方法需要文件的绝对路径。

boolean doesFileExist = new File("C:/downloads/MyFile.txt").isFile();
Run Code Online (Sandbox Code Playgroud)

我已经使用 Selenium 和 Robot 类将文本文件保存到本地目录,但文件名是动态的:MyTextFile_YYYYMMDDHHMMSS.txt. 但是,MyTextFile_始终保持不变。我只想检查部分文件名匹配。

什么是优雅的方式来做到这一点?

java file

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

将十进制转换为单精度 IEEE 754

(-128.4875) base 10 到单精度 IEEE 754

将 (128.4875) base 10 转换为 BINARY 是: 1000 0000 。0111 1100 1100 1100 1100...

二进制的科学符号是: 1 。0000 0000 1111 1001 1001 1001 ... x 2^7

SIGN BIT 为:1(1 位)

尾数是0000 0000 1111 1001 1001 100(23 位)

指数是 7 + 127 = (134) base 10 = 1000 0110 (8 bits)

对照在线转换器检查我的答案:

http://s17.postimg.org/3pkw9glm7/mantissa.png

(not enough reputation to post in-line images)
Run Code Online (Sandbox Code Playgroud)

我得到了所有但尾数的最后一位数字。我所做的是将科学记数法中的点后的前 23 位数字去掉。

我得到 0,而转换器得到 1。为什么会这样?

floating-point binary decimal ieee-754

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

检查元素是否是没有正则表达式的数组中的元音

有没有更好的方法来检查元素是否是数组中的元音?

foreach($alphaArray as $alpha) {
    $ascii = ord($alpha); // convert each alpha to ascii

    if($ascii == 65 || $ascii == 69 || $ascii == 73 || $ascii == 79 || $ascii == 85
        || $ascii == 97 || $ascii == 101 || $ascii == 105 || $ascii == 111 || $ascii == 117) {
        $vowelArray[] = $alpha;

    } else {
        $consonantArray[] = $alpha;
    }
}
Run Code Online (Sandbox Code Playgroud)

老师不允许regEx.

php arrays

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

是否可以在Java中扩展最终类?

可能重复:

该线程不询问如何扩展final类.它问 为什么声明的类final可能会扩展另一个类.


这个线程:

final类是仅仅是一个类不能扩展.

但是,我有一个我声明的辅助类finalextends另一个类:

public final class PDFGenerator extends PdfPageEventHelper {
    private static Font font;

    private PDFGenerator() {
        // prevent instantiation
    }

    static {
        try {
            BaseFont baseFont = BaseFont.createFont(
                "/Trebuchet MS.ttf",
                BaseFont.WINANSI,
                BaseFont.EMBEDDED
            );

            font = new Font(baseFont, 9);

        } catch(DocumentException de) { 
            de.printStackTrace();

        } catch(IOException ioe) {
            ioe.printStackTrace();
        }
    }

    public static ByteArrayOutputStream generatePDF() throws DocumentException {            
        Document doc …
Run Code Online (Sandbox Code Playgroud)

java inheritance extends final

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

如何将黄瓜中的数据表转换为对象列表?

原标题:标量在Java的Cucumber DataTables中意味着什么?

这个参考:

Java提供了几种标量类型。这些包括原始数字类型,以及布尔值和char。

每个标量(原始)类型都有一个关联的包装器类或引用类型。

阅读javadocs:

/**
  * Converts the table to a List.
  *
  * If {@code itemType} is a scalar type the table is flattened.
  *
  * Otherwise, the top row is used to name the fields/properties and the remaining
  * rows are turned into list items.
  *
  * @param itemType the type of the list items
  * @param <T>      the type of the list items
  * @return a List of objects
  */
public <T> List<T> …
Run Code Online (Sandbox Code Playgroud)

java cucumber

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