In Feature file ,how to read input from external source ( csv file) instead of "Example section

20,686 views
Skip to first unread message

Somesh Rathi

unread,
Apr 20, 2016, 2:53:49 AM4/20/16
to Cukes
Hi All,

I have feature file Scenario like below. Here instead of specifying the input into the "Examples" section , i want to read from external CSV file. 
My step file ( where i write step definition ) is in java language. 
I googled a lot before posting into this forum, but i couldnt find any solution for java on how to read input from CSV file into feature file. I found some solution for ruby. 
But we are not using ruby language to write step defintion.




Scenario Outline: Testing to verify service returns till date response when passing all the mandatory parameters

When I pass the CIF <CIF>,BU <BU>
And I hit the service
And I Check for the Success Status Code


Examples:
|CIF|BU|
| 12345|58|
               | 98765|59|


I could write the new step , for e.g. Read data from <File> , corresponding step defintion (java file)  - read the values from CSV and assign to variables like CIF , BU.

However problem is i wanted to run the same scenario for different data set ( for e.g. for second record in table), value of variables like BU , CIF should change. 



my CSV file is like data.csv 

CIF,BU
12345,58
98765,59

Thomas Sundberg

unread,
Apr 20, 2016, 3:10:03 AM4/20/16
to cu...@googlegroups.com
Hi!

On 20 April 2016 at 06:51, Somesh Rathi <somes...@gmail.com> wrote:
> Hi All,
>
> I have feature file Scenario like below. Here instead of specifying the
> input into the "Examples" section , i want to read from external CSV file.
>

I would not choose to try to import data from a CSV file into Gherkin.
If I had to read data from the CSV file, I would do it using a helper
method I implemented in Java and use it from my step definition. Or
any supporting code the steps are using.

This said, it is unclear to me why you would use Cucumber and Gherkin
if you hide important information in a CSV file. I would probably have
the other approach and use a data table in Gherkin if I have many
examples I need to run through.

Think about the benefit Gherkin brings and why you want to use
something else. You may end up with the conclusion that you don't need
Gherkin or that you are using Gherkin incorrect. Cucumber and Gherkin
are opinionated tools, they don't support you in some cases. Maybe
this is one of them.

HTH
Thomas




>
> My step file ( where i write step definition ) is in java language.
>
> I googled a lot before posting into this forum, but i couldnt find any
> solution for java on how to read input from CSV file into feature file. I
> found some solution for ruby.
>
> But we are not using ruby language to write step defintion.
>
>
>
>
>
> Scenario Outline: Testing to verify service returns till date response when
> passing all the mandatory parameters
>
> When I pass the CIF <CIF>,BU <BU>
> And I hit the service
> And I Check for the Success Status Code
>
>
> Examples:
> |CIF|BU|
> | 12345|58|
>
> | 98765|59|
>
>
>
> I could write the new step , for e.g. Read data from <File> , corresponding
> step defintion (java file) - read the values from CSV and assign to
> variables like CIF , BU.
>
>
> However problem is i wanted to run the same scenario for different data set
> ( for e.g. for second record in table), value of variables like BU , CIF
> should change.
>
>
>
>
> my CSV file is like data.csv
>
>
> CIF,BU
> 12345,58
> 98765,59
>
>
> --
> Posting rules: http://cukes.info/posting-rules.html
> ---
> You received this message because you are subscribed to the Google Groups
> "Cukes" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to cukes+un...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



--
Thomas Sundberg
M. Sc. in Computer Science

Mobile: +46 70 767 33 15
Blog: http://thomassundberg.wordpress.com/
Twitter: @thomassundberg

Better software through faster feedback

Join me for a Selenium kickstart in Timisoara, Romania in April.
http://mozaicworks.com/public-trainings-and-workshops/selenium-webdriver-test-automation-for-web-applications/

Interested in a BDD Kickstart in Stockholm?
https://cucumber.io/events/bdd-kickstart-stockholm-16

Somesh Rathi

unread,
Apr 20, 2016, 12:10:12 PM4/20/16
to Cukes, t...@kth.se
Thanks a lot Thomas for reply. 

Yes i can read the data from the external csv file using java helper and assign to variables in step defintion class (which is another java file).

 But the problem is i wanted to run scenario for every record in file. For each CIF/BU combination , i wanted to  invoke backend service ,get the data and verify the data. 

My challenge is - how to run the scenario ( which contain multiple steps)  multiple times , if i dont provide the data tables (Examples section.) 

Intention behind externalizing the data into the CSV file , instead of Example section is :- Business Analyst/Product owner can provide/update only the CSV file and they dont need to touch the Feature file. 

Thanks
Somesh

Andrew Premdas

unread,
Apr 20, 2016, 12:23:32 PM4/20/16
to cu...@googlegroups.com
Somesh,

You don't need cucumber to do this. Cucumber is all about using natural language (words) to describe things and then using those descriptions to drive development. In your case the output from running your scenarios and the scenarios themselves have almost no meaning, they are just data. Instead of using cucumber, just use a unit test to do what you want. Because such tools are all implemented in a programming language its easy to do csv imports to drive tests. And you can easily collect results and output them however you want.

Generally any time you want to do something exhaustive and repetitive with cucumber i.e. do something for many combinations of something (in your case CIF/BU pairs) you are misusing the tool and just making things harder than they need to be.

All best

Andrew
------------------------
Andrew Premdas

Yaroslav Yasynskyy

unread,
Oct 19, 2016, 1:50:44 AM10/19/16
to Cukes
Hi Somesh,

Did you solve this?

I have the same challenge and was not able to find the solution yet.

Thanks,
Yaroslav

Thomas Sundberg

unread,
Oct 19, 2016, 2:25:09 AM10/19/16
to cu...@googlegroups.com
On 19 October 2016 at 00:38, Yaroslav Yasynskyy
<yasynskyy...@gmail.com> wrote:
> Hi Somesh,
>
> Did you solve this?
>

This problem is solved. You don't that.

Read the responses in this thread carefully. If you still have
questions, please ask them.

A short answer is, however, don't hide the information needed when you
want to drive your application. All relevant information should be
found in the feature file. Hiding important things in other files will
make your life unnecessary complicated.

If you need to read input from Excel, do it in the step definition
where you need the data. Or use other tooling if it is testing, and
only testing, you have a need for.

HTH
Thomas
> --
> Posting rules: http://cukes.info/posting-rules.html
> ---
> You received this message because you are subscribed to the Google Groups
> "Cukes" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to cukes+un...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



--
Thomas Sundberg
M. Sc. in Computer Science

Mobile: +46 70 767 33 15
Blog: http://www.thinkcode.se/blog

shailendra singh

unread,
Mar 15, 2017, 3:37:58 AM3/15/17
to Cukes

I had similar issue , let see what issue I tried to solve:

 

I have a 100+ feature file, and each feature file have scenario outlines ex.

 

Below is one feature file

 

Scenario outline: As a user I should be able to create a new client

   Given I am app home page

   Then I input <fname> in first name

   And I input <lname> in last name

  And I selected city as <city name>

  And I enter biuilding <bld name>

 And I enter taf type as <taf>

Example:

  |fname|lname|city_name|bld_name|taf|

 

Now the challenge is application shows different set of values for  'city', 'bld' and 'taf' which depends on which type of customer loggedin. And we had 6type of customer. And at a time I need to check of one customer type. So to test all 6 customers types I have below option:

 

  1. Create 1 feature file for each 6 type of customers (so total 6 feature file) : So problem is maintenance and update feature file.
  2.  second is if there is any way to pass CSV file in example section , so that at run time I can change csv file according to login customer.

 

So I tried in 2nd way , there is no straight forward way but I did a work around here.

 

  1. Create feature file as template and put in template folder.

Scenario outline: As a user I should be able to create a new client

   Given I am app home page

   Then I input <fname> in first name

   And I input <lname> in last name

  And I selected city as <city name>

  And I enter biuilding <bld name>

 And I enter taf type as <taf>

Example:

 

Note: No data in Example:

  1. I have written a utility which copy the feature file from template put it in features folder and rename it to .feature
  2. Then that utility read configured customer data CSV file and write in Example: section a newly created feature file.
  3. And at run time we run feature file created from template.

 

Note: It's just a work around to solve different set of data problem. Hope it may help some one

 

Let me know if need any help. 

Andrew Premdas

unread,
Mar 15, 2017, 3:54:41 AM3/15/17
to cu...@googlegroups.com
This is a really good example of how to work with Cucumber to do something that Cucumber doesn't (and hopefully never will) support. By scripting at a higher level and using a script to drive Cucumber Shallendra has created a workable solution for doing data driven features.

Now personally I think data driven features are a really bad idea so please don't take this as a recommendation for working in this way. But if you do decide that you have to have data driven features you would do well to follow this example.

All best

Andrew

--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
------------------------
Andrew Premdas

Pankaj Tiwari

unread,
Mar 15, 2017, 6:28:06 AM3/15/17
to Cukes
Hi Shailendra,

If Possible,can you please provide me that utility ?

-Thanks
Pankaj

shailendra singh

unread,
Mar 15, 2017, 7:34:51 AM3/15/17
to Cukes
Sure Pankaj, it is small code written in ruby. tell me your mail id , i will send it to you.

srininivas sunkari

unread,
Apr 12, 2017, 5:05:42 AM4/12/17
to Cukes
Hi Shailendra, 

I also have same problem what you faced. Can you please share the utility on below email id.


Thanks,
Srinivas Sunkari


On Wednesday, April 20, 2016 at 12:23:49 PM UTC+5:30, Somesh Rathi wrote:

muhad...@gmail.com

unread,
May 18, 2017, 4:31:57 AM5/18/17
to Cukes
I created a java class that imported all the datas from an excel file using Apache poi and then I created a file in project folder structure using ".feature" extension and then invoked the feature file from steps class I believe. 


On Wednesday, April 20, 2016 at 2:53:49 AM UTC-4, Somesh Rathi wrote:

Sharan Kumar

unread,
Jun 9, 2017, 11:59:48 AM6/9/17
to Cukes
Hi shailendra ,

                   I have been looking for a solution to this problem .Could you please send your utility class to this email id - sharank...@gmail.com 

Thanks in Advance

Regards 
Sharan 

Roberto Lo Giacco

unread,
Jun 13, 2017, 4:03:58 PM6/13/17
to Cukes
Il giorno venerdì 9 giugno 2017 17:59:48 UTC+2, Sharan Kumar ha scritto:
Hi shailendra ,

                   I have been looking for a solution to this problem .Could you please send your utility class to this email id - sharank...@gmail.com

To me this is unbelievable: you are asking for advice on a forum where people expert of the tool are saying what you are doing is WRONG and you keep going?!?

The whole idea of using Cucumber in this context is simply WRONG. People with years of experience with the tool which have also published articles and given courses on the topic keeps repeating this is WRONG...

You have been given reasons and alternatives and you keep going down your route nonetheless? And you also keep reviving this thread?

Let me state it once again:

'||      ||` '||'''|, .|''''|, '||\   ||` .|'''''| ||
 ||      ||   ||   || ||    ||  ||\\  ||  || .     ||
 ||  /\  ||   ||...|' ||    ||  || \\ ||  || |''|| ||
  \\//\\//    || \\   ||    ||  ||  \\||  ||    ||   
   \/  \/    .||  \\. `|....|' .||   \||. `|....|' ||

So, at least, please stop reviving this thread which spreads a bad usage habit.

Thanks

Sanjay Shukla

unread,
Oct 4, 2017, 5:50:48 PM10/4/17
to Cukes
Hi Shailendra,

Could you please share the same utility with me.

to archive the same way -

1. created feature file
2. then running the script 
3. copy the feature file with different name
4. replacing or writing the data from excel to feature file
5. then deleting the old feature file

but some how its not working correctly.

Roberto Lo Giacco

unread,
Oct 5, 2017, 4:57:39 AM10/5/17
to cu...@googlegroups.com
On Wed, Oct 4, 2017 at 10:34 PM, Sanjay Shukla <sanjays...@gmail.com> wrote:
Hi Shailendra,

Could you please share the same utility with me.

to archive the same way -

1. created feature file
2. then running the script 
3. copy the feature file with different name
4. replacing or writing the data from excel to feature file
5. then deleting the old feature file

but some how its not working correctly.


​And my wish is that it will never work​, EVER.

Don't you understand this is useless and you could achieve the exact same result with a very simple unit or integration test? Why are willing to spend so much time in creating those feature files which will then drive the same piece of code voer and over and none wille ver read? Even you, the creator of such feature files will not read them: you are creating a tool to generate them!
Is it that difficult to understand a feature which is not shared with anyone and discussed, which doesn't start a conversation... is useless?

Take it this way: your tests, which will cover 100% of your scenarios, if generated like you do will:
  • take A LOT more time to execute than having the same test, written without Cucumber
  • be unmaintainable, as most of the changes which might occur in the future will require to re-generate the features
  • be more difficult to trace down, as you will be reported an error within a step definition using parameter XYZ, but you'll have to track down that parameter in your generated feature files, if the issue is a bad parameter
  • be tougher to understand and debug

Why are you doing so? For which benefit?

Do you really heate yourself and your colleagues so much?

Roberto

Raghav Joshi

unread,
Oct 12, 2017, 1:04:21 PM10/12/17
to Cukes
Hello Shailendra,

     Could you please send me the utility which u have written for template and run time feature file creation. Also will it support for java framework. 

My mail id is smiler...@gmail.com


On Wednesday, March 15, 2017 at 1:07:58 PM UTC+5:30, shailendra singh wrote:

Chuck van der Linden

unread,
Oct 13, 2017, 12:04:51 PM10/13/17
to Cukes
Did you even read the thread?    DON'T DO THIS.. 

If you need to be reading in test data or terms from a file instead of using example tables  then CUCUMBER IS NOT THE RIGHT TOOL FOR WHAT YOU ARE DOING.   Put down the socket wrench you are trying to use to pound on the nail and go find a freaking hammer.

Gods I would give up a body part for google to make it possible for us to block further replies to a thread.

Matt Wynne

unread,
Oct 13, 2017, 3:17:31 PM10/13/17
to Cukes
Some of these comments are getting a bit too personal for my liking. Let's please keep it respectful, however daft we think other people's ideas might be 😀

❤️ https://github.com/cucumber/cucumber/blob/master/CODE_OF_CONDUCT.md ❤️

Roberto Lo Giacco

unread,
Oct 13, 2017, 6:10:36 PM10/13/17
to Cukes
Il giorno venerdì 13 ottobre 2017 21:17:31 UTC+2, Matt Wynne ha scritto:
Some of these comments are getting a bit too personal for my liking. Let's please keep it respectful, however daft we think other people's ideas might be 😀

❤️ https://github.com/cucumber/cucumber/blob/master/CODE_OF_CONDUCT.md ❤️

Sorry Matt,

Please accept my apologies if you believe I've once again crossed the boundary, but I believe respect should be reciprocal and I totally agree with Chuck and his disappointment.

Ignoring our warnings and keep reviving an old thread is not a good sign of respect... I personally feel my effort to help them understand this is a bad use of Cucumber is wasted and I was tempted to unsubscribe when I saw the n-th message on this topic.

The fact no message did ask "why do you think is that wrong" or "could you explain what do you mean" is another demonstration my previous attempts are just simply ignored...

Now, I know I can't say what is wrong and what is right, but as I've used Cucumber for more than 6 years now and I believe I've got enough ground to say "guys, what you are trying to do is a bad use of the tool".
I'm trying to protect Cucumber from misuse, which has caused, in my personal experience, the biggest difficulties in its adoption.

Chuck van der Linden

unread,
Oct 16, 2017, 3:23:20 PM10/16/17
to Cukes
On Friday, October 13, 2017 at 12:17:31 PM UTC-7, Matt Wynne wrote:
Some of these comments are getting a bit too personal for my liking. Let's please keep it respectful, however daft we think other people's ideas might be 😀

❤️ https://github.com/cucumber/cucumber/blob/master/CODE_OF_CONDUCT.md ❤️

I Agree my response was less than fully respectful.. frustration got the better of me, my apologies for that.

I am confused as to what part of my response you felt was 'too personal'?   Unless you felt my 'using the wrong tool' analogy was aimed at the person not the situation?   

Aaditya Seshadri

unread,
Mar 2, 2018, 2:42:09 AM3/2/18
to Cukes
Hi Shailendra, 

this is Aaditya joined this group recently .Hi to all 

I m also having the same requirement being using Cucumber Framework and Data driven from csv .Reason is as a user of the framework when hand over user of the framework will be easy if data can be configured in external data source(preferably csv) 

so it would a great help if you can forward me the utility of copying the feature and copying csv to example . 

please feel free to recommend if there is alternative approach .

Thanks Again 

Roberto Lo Giacco

unread,
Mar 2, 2018, 4:12:05 AM3/2/18
to cu...@googlegroups.com
Is it possible to at least unsubscribe myself from receiving notification of new posts on this thread?
I can only see one alternative: unsubscribe from the group alltogether.
@Aaditya, have you read the whole thread?

--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to a topic in the Google Groups "Cukes" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cukes/r253wWXJv80/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cukes+unsubscribe@googlegroups.com.

shubhangi arvikar

unread,
Mar 22, 2018, 6:51:17 AM3/22/18
to Cukes
Hi Shailendra,

I am working on a similar functionality and looking for a solution where we can read and pass data to feature file from an external data file.
Could you please share the utility or guide me accordingly?

Tim Walker

unread,
Mar 22, 2018, 8:21:03 AM3/22/18
to cu...@googlegroups.com
Just want to throw this out there. Execution of tests defined in an excel spreadsheet is precisely what FIT does. Tim

--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+unsubscribe@googlegroups.com.

Roberto Lo Giacco

unread,
Mar 22, 2018, 10:04:14 AM3/22/18
to cu...@googlegroups.com
On Thu, Mar 22, 2018 at 7:47 AM, shubhangi arvikar <shubh...@gmail.com> wrote:
Hi Shailendra,

I am working on a similar functionality and looking for a solution where we can read and pass data to feature file from an external data file.
Could you please share the utility or guide me accordingly?

Must I unsubscribe to this group entirely? Is this what the Cucumber team wants or can somebody please stop this? This is simply unbelievable, I tried in any possible way to correct this thing, but apparently, the only way out I have is to unsubscribe altogether. 

Apparently I should have never replied...

Regards,
   Roberto​

MP Korstanje

unread,
Mar 23, 2018, 6:58:33 AM3/23/18
to Cukes
Hey Roberto,

you can unsubscribe from this chain using:

Auto Generated Inline Image 1

MP Korstanje

unread,
Mar 23, 2018, 6:59:28 AM3/23/18
to Cukes
Oops. Wrong screenshot.

Auto Generated Inline Image 1

Roberto Lo Giacco

unread,
Mar 23, 2018, 11:55:50 AM3/23/18
to cu...@googlegroups.com

On Fri, Mar 23, 2018 at 11:59 AM, MP Korstanje <rien.ko...@gmail.com> wrote:
Oops. Wrong screenshot.


​You are my savior! Good man, thanks!!!​

Koen Prins

unread,
Mar 25, 2018, 2:20:24 AM3/25/18
to cu...@googlegroups.com
@Tim, having worked with FitNesse quite a bit, I would recommend implementing the latest version using the HSAC fixture: https://github.com/fhoeben/hsac-fitnesse-fixtures
It is almost like working with excel, you can present your data in a tabular format without issues. Everything considered, all the thread necromancy here proves that few read all responses tho I doubt if it is going to help ;-)

--

vikram...@gmail.com

unread,
May 22, 2018, 5:31:26 AM5/22/18
to Cukes
Hi Shailendra,
I have been facing the same issue, can you please share the utility file you have developed. My email: Vikram...@gmail.com


Thanks,
Vikram


On Wednesday, March 15, 2017 at 3:37:58 AM UTC-4, shailendra singh wrote:

Stefanos Kalantzis

unread,
Sep 28, 2018, 7:31:55 AM9/28/18
to Cukes
Thanks for this comment.

Sorry for grave-digging, but I felt the need to mention that not everyone is using Cucumber for it's intended use; hence there are some "unusual" requests or questions.

In my case this feature would be really useful.
Although I already have a workaround but I would actually prefer linking data files in the Examples: section.

We normally use Cucumber for our rest api integration tests, and there is already implemented a lot of supporting code for this.
In this case we use it as intended, and I agree that it would be wrong to link data files.

But, there was a need to have a way of creating data against a non-production installation (e.g. for demos).
There are of course many ways to achieve this, even outside of Cucumber.
But since we already have everything we need in Cucumber, we decided to create a separate feature set that would be only used for this reason.

So there's no right or wrong way of using a tool.
Please stop screaming that it's wrong.

And to be honest, apparently there's an actual need for this feature no matter how hard you scream it's wrong :)
I don't really understand what would be the harm in implementing it and just mark it as non-conforming or something.

Cucumber lacks many features that other competitor software has, and maybe I start to understand why :)

aslak hellesoy

unread,
Sep 28, 2018, 7:39:12 AM9/28/18
to Cucumber Users
On Fri, Sep 28, 2018 at 12:31 PM Stefanos Kalantzis <steve...@gmail.com> wrote:
Thanks for this comment.

Sorry for grave-digging, but I felt the need to mention that not everyone is using Cucumber for it's intended use; hence there are some "unusual" requests or questions.

In my case this feature would be really useful.
Although I already have a workaround but I would actually prefer linking data files in the Examples: section.


I'd be happy to add support for it if someone submits a pull request.
 
We normally use Cucumber for our rest api integration tests, and there is already implemented a lot of supporting code for this.
In this case we use it as intended, and I agree that it would be wrong to link data files.

But, there was a need to have a way of creating data against a non-production installation (e.g. for demos).
There are of course many ways to achieve this, even outside of Cucumber.
But since we already have everything we need in Cucumber, we decided to create a separate feature set that would be only used for this reason.

So there's no right or wrong way of using a tool.
Please stop screaming that it's wrong.

And to be honest, apparently there's an actual need for this feature no matter how hard you scream it's wrong :)

Your best option for introducing this functionality is to create a GitHub issue where we can discuss the implementation. I think the best option here is to add pre-processor functionality to gherkin-go (https://github.com/cucumber/cucumber/tree/master/gherkin/go).

After we agree on how to implement it, someone can start implementing it. If that someone is you, you'll be in control over how quickly it can be added. If you can't do it yourself you'll just have to wait until someone decides to implement it.

Aslak

I don't really understand what would be the harm in implementing it and just mark it as non-conforming or something.

Cucumber lacks many features that other competitor software has, and maybe I start to understand why :)

On Friday, October 13, 2017 at 9:17:31 PM UTC+2, Matt Wynne wrote:
Some of these comments are getting a bit too personal for my liking. Let's please keep it respectful, however daft we think other people's ideas might be 😀

❤️ https://github.com/cucumber/cucumber/blob/master/CODE_OF_CONDUCT.md ❤️

--
Posting rules: http://cukes.info/posting-rules.html
---
You received this message because you are subscribed to the Google Groups "Cukes" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cukes+un...@googlegroups.com.

Rajeev Kumar

unread,
Oct 17, 2018, 9:55:39 AM10/17/18
to Cukes
Hi Shailedra,

Could you please share utility code. Even i have similar kind of requirement.


Thanks
Rajeev

Wolfgang Hierl

unread,
Oct 17, 2018, 1:59:14 PM10/17/18
to Cukes
Hi, this Java code do the job. I had same topic and created a maven preprocessor for it. Download at https://search.maven.org/artifact/org.bitbucket.idensitylab/cucumber-features-pp-maven-plugin/1.0.0/maven-plugin

Some further Details and code on bitbucket
https://bitbucket.org/idensitylab/cucumber-features-pp-maven-plugin/overview

kind regards
Wolfgang

Ujjwal Shitole

unread,
Feb 13, 2020, 5:59:17 AM2/13/20
to Cukes
shailendra can you send me same code

nida khurasani

unread,
Mar 12, 2020, 6:02:31 AM3/12/20
to Cukes
Hi Shailendra....even i have a similar requirement....can u please share ur code
Reply all
Reply to author
Forward
0 new messages