示例#1
0
def scrap(node, world, scraper_hints=None, node_hints=None):
    '''
    Scrap either using windows API or the graphic analysis
    '''
    active_window_rect = world.machine.helper.get_active_window_rect()

    if active_window_rect is None:
        scraper.scrap_state(node, world, scraper_hints, node_hints)
        node.name = suggest_node_name('User Access Control', node)
        #node.file_name = suggest_node_file_name(node)
    else:
        window_scrap.custom_scraper(node, world)
示例#2
0
def scrap(node, world, scraper_hints=None, node_hints=None):
    """
    Scrap either using windows API or the graphic analysis
    """
    active_window_rect = world.machine.helper.get_active_window_rect()

    if active_window_rect is None:
        scraper.scrap_state(node, world, scraper_hints, node_hints)
        node.name = suggest_node_name("User Access Control", node)
        # node.file_name = suggest_node_file_name(node)
    else:
        window_scrap.custom_scraper(node, world)
示例#3
0
        if edge.ui_type == 'text':
            ok_edge = edge
            # edge.custom['test value'] = [{'name': 'valid', 'value': '{+ctrl}a{-ctrl}demo'}]
            break
    """
    ok_edge = [edge for edge in node.edges if edge.ui_type == "text"][0]

    valid_edge = extractor.inject_edge(
        node, ok_edge.location, "Valid serial", "normal"
    )  # ok_edge.location or None, to get the text...
    valid_edge.method = enter_valid_serial
    valid_edge.method_source_code = ("press_ok", INSTALL_APP_TEMPLATE)

    demo_edge = extractor.inject_edge(node, ok_edge.location, "Demo serial", "normal")
    demo_edge.method = enter_demo_serial
    demo_edge.method_source_code = ("press_ok", INSTALL_APP_TEMPLATE)


if __name__ == "__main__":
    test_files = configuration.get_default_config()["test files"]
    extractor = base_extractor.BaseExtractor("serial_2", "\\utils\\runurl.py " + test_files + "installwserial.exe")

    extractor.scrap_method = lambda node, world, scraper_hints, node_hints: window_scrap.custom_scraper(node, world)

    extractor.graph.add_post_create_node_hook(
        "Please Type In Your Installation Key And Click Ok",
        lambda node, world: add_input_values(node, world, extractor),
    )

    extractor.crawl_application()
示例#4
0
            # edge.custom['test value'] = [{'name': 'valid', 'value': '{+ctrl}a{-ctrl}demo'}]
            break
    '''
    ok_edge = [edge for edge in node.edges if edge.ui_type == 'text'][0]

    valid_edge = extractor.inject_edge(
        node, ok_edge.location, 'Valid serial',
        'normal')  # ok_edge.location or None, to get the text...
    valid_edge.method = enter_valid_serial
    valid_edge.method_source_code = ('press_ok', INSTALL_APP_TEMPLATE)

    demo_edge = extractor.inject_edge(node, ok_edge.location, 'Demo serial',
                                      'normal')
    demo_edge.method = enter_demo_serial
    demo_edge.method_source_code = ('press_ok', INSTALL_APP_TEMPLATE)


if __name__ == '__main__':
    test_files = configuration.get_default_config()["test files"]
    extractor = base_extractor.BaseExtractor(
        'serial_2', '\\utils\\runurl.py ' + test_files + 'installwserial.exe')

    extractor.scrap_method = lambda node, world, scraper_hints, node_hints: window_scrap.custom_scraper(
        node, world)

    extractor.graph.add_post_create_node_hook(
        'Please Type In Your Installation Key And Click Ok',
        lambda node, world: add_input_values(node, world, extractor))

    extractor.crawl_application()