使用Excel作为跨多个系统的自动化的数据源

时间:2016-06-21 13:20:01

标签: ruby selenium selenium-webdriver browser-automation win32ole

我正在尝试自动化一个Web应用程序,我将把数据从大型机文本文件加载到GUI。

方案

每个条目的文本文件中都有一行。对于单个客户,我们可能在文件中有多行。

例如一个客户有两个帐户存储在两个单独的行中,如下所示:

CUST_1 0000001

CUST_1 0000002

工作流

第1步:创建客户

第2步:添加帐户

现在我的逻辑是创建一个客户并在记录中添加帐户。但是,如果同一客户有多个条目,我想打开客户,然后向其添加帐户。

当前方法

我计划捕获客户的唯一标识符并将其添加到Excel工作表中。因此,在添加客户之前,代码将检查表中是否存在该客户。

问题陈述

此脚本将在40个系统中执行。因此,40个不同的系统将尝试访问相同的excel文件。这可能会产生一些问题,因为40个用户会同时尝试读取/写入相同的Excel工作表。

任何其他方法都受到欢迎:)

1 个答案:

答案 0 :(得分:0)

是的,您可能会遇到问题。您可以从Excel工作表中读取多个脚本,但是当您向Excel添加写入时,两个脚本无法同时写入Excel。

有几种选择。

  1. 我认为ThomasSevestre走在正确的轨道上。我建议您设置一个集中式数据库,所有40个系统都可以访问该数据库并让脚本写入数据库。我认为这是最好的解决方案。它不一定是SQL Server,它可以是MySQL或您可以在本地设置的任何其他数据库。

  2. 您可以编写本地日志(文本,CSV等),然后在脚本完成后,您可以将所有不同的日志合并在一起。它只是一个手动过程,但只要你编写一个脚本来进行合并就不会那么糟糕。如果您不能或不想处理数据库,这可能是您的最佳选择。

  3. 另一种解决方案是重试写入Excel。只要你在潜在的写作之间有一些差距,它就可能没问题。我不认为我会推荐这种方法,但你可以尝试一下,看看它是怎么回事。如果您的脚本运行得非常快,那么当脚本等待彼此完成编写时,您可能会遇到很多延迟。