PDA

View Full Version : میخوام داده های تصادفی زیادی رو با این روش وارد کنم



roohial
سه شنبه 19 شهریور 1392, 14:01 عصر
راهی هست که با برنامه نویسی مثلا بگم در یک فرم سه با تب بزنه حروف"علی" رو وارد کنه دکمه اینتر رو وارد کنه
تا با این کار از طریق فرم یک کاربر(علی) رو ثبت کنم
میخوام داده های تصادفی زیادی رو با این روش وارد کنم

aliagamon
سه شنبه 19 شهریور 1392, 14:12 عصر
سلام ...
عنوانتون نامناسبه مدیران احتمالا پاک میکنن اصلاح کنین ...
شدن این کار که میشه ... اما میشه دقیقا بگین میخواین چیکار کنین چون این روش یکمی نا معقوله .... راه های بهتری هم هست ...

roohial
سه شنبه 19 شهریور 1392, 14:43 عصر
یه برنامه یی هست که هر ماه کاربر اطلاعات جدیدی رو از فایل هایی رو سی دی از طریق یک فرم به پایگاه داده برنامه اضافه میکنه
این اطلاعات زیادن و برای کاربر سخته که این حجم داده رو بصورت دستی وارد کنه
میخوام این کار رو بصورت اتوماتیک انجام بده
برنامه مال من نیست و نمیتونم تغییراتی روی آن انجام بدم

aliagamon
سه شنبه 19 شهریور 1392, 15:44 عصر
کدی که میخواستین اینه:

SendKeys.Send("{tab}");
SendKeys.Send("{tab}");
SendKeys.Send("{tab}");
SendKeys.Send("علی");

roohial
سه شنبه 19 شهریور 1392, 15:46 عصر
این رو میدونم
ولی چطور به فرم مورد نظر تو برنامه دسترسی پیدا کنم؟

shahryari
سه شنبه 19 شهریور 1392, 16:33 عصر
راهی هست که با برنامه نویسی مثلا بگم در یک فرم سه با تب بزنه حروف"علی" رو وارد کنه دکمه اینتر رو وارد کنه
تا با این کار از طریق فرم یک کاربر(علی) رو ثبت کنم
میخوام داده های تصادفی زیادی رو با این روش وارد کنم

آیا منظورتون این بود؟؟
یک تکست باکس به فرمتون اضافه کنید و خاصیت تب استاپ آنرا فالس کنید
کدهای زیر را در رویداد keydown تکست باکس مورد نظر بنویسید
int tab_count;
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
this. Text = tab_count.ToString() ;
if (e.KeyCode == Keys.Tab)

{
tab_count = tab_count + 1;
if (tab_count == 3)
{
textBox1.Text = "علی";
SendKeys.Send("{ENTER}");
tab_count = 0;
}
}
}
بعد از اینکه سه بار تب را زدی ، کلمه علی نوشته میشه و کلید اینتر ارسال میشه

مهرداد صفا
سه شنبه 19 شهریور 1392, 17:15 عصر
یه برنامه یی هست که هر ماه کاربر اطلاعات جدیدی رو از فایل هایی رو سی دی از طریق یک فرم به پایگاه داده برنامه اضافه میکنه
این اطلاعات زیادن و برای کاربر سخته که این حجم داده رو بصورت دستی وارد کنه
میخوام این کار رو بصورت اتوماتیک انجام بده
برنامه مال من نیست و نمیتونم تغییراتی روی آن انجام بدم

با سلام.
اگر به هر نحوی دسترسی به پاگاه داده برنامه داشته باشید قطعا کار ساده تر پیش خواهد رفت ولی در غیر این صورت شما نیاز به یک Automation script دارید.
برای نوشتن Automation script ظاهرا برنامه های آماده ای هم وجود دارد اما برای انجام این کار با استفاده از زبانهای .net باید از UIAutomation API استفاده کنید. البته راه هایی هم مثل استفاده از MSAA و یا توابع User32 وجود دارد که پیشنهاد نمیکنم. در هر حال روش پیاده سازی به مقدار خیلی زیادی بستگی به برنامه مقصد و user interface آن خواهد داشت.
در این تاپیک لینک مراجع در msdn را خواهید یافت:
http://barnamenevis.org/showthread.php?398189-%D8%AF%D8%B1-%D8%A7%D8%AE%D8%AA%DB%8C%D8%A7%D8%B1-%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D9%88%D8%B3

roohial
سه شنبه 19 شهریور 1392, 18:19 عصر
ببخشید شما با Automation script کار کرین؟

چند تا رو معرفی میکنین؟

مهرداد صفا
سه شنبه 19 شهریور 1392, 21:25 عصر
ببخشید شما با Automation script کار کرین؟

چند تا رو معرفی میکنین؟

البته Automation Script یا Test Automation Script نرم افزار نیست. بلکه به نرم افزاری (یا به طور کلی پروسه ای) که برای انجام خودکار یک task برنامه ریزی شده اطلاق می شود. این "task" معمولا شامل کارهایی می شود که در حالت عادی باید توسط یک کاربر یا کارمند صورت بگیرد و غالبا نیاز به شبیه سازی ورودی های کاربر مثل موس و کیبورد دارد، مثل: نصب خودکار برنامه، وارد کردن انبوه اطلاعات، اجرای یک برنامه در زمان خاص و ... حتی روباتهایی که برای web نوشته می شوند هم به نوعی از این دست محسوب می شوند.
همانطور که گفتم ابزارهایی هم برای پیاده سازی این پروسه وجود دارد که از راه هایی مثل: ضبط حرکات موس و کیبورد، تشخیص تصویر، اسکریپت نویسی و ... موجب آسان تر شدن کار می شوند (که من تا به حال از هیچ یک استفاده و حتی هیچکدام را امتحان نکردم و برنامه نویسی و ارتباط مستقیم با UIAutomation API را ترجیح می دهم) مثل:
Testing Anywhere (http://www.automationanywhere.com/Testing/solutions/automated-software-testing.htm)
AutoMate (http://www.networkautomation.com/Scripting/)

vTask Studio (http://www.vtaskstudio.com/index.php)
WinTask (http://www.wintask.com/index.php)
Sikuli Script (http://www.sikuli.org/)

macro scheduler (http://www.mjtnet.com/index.htm)
Automa (http://www.getautoma.com/)
Auto Mouse Clicker (http://www.murgee.com/auto-mouse-clicker/)

البته این ابزار نه تنها رایگان نیستند بلکه اکثرا قیمتهای بالایی هم دارند.

FastCode
سه شنبه 19 شهریور 1392, 21:46 عصر
آیا منظورتون این بود؟؟
یک تکست باکس به فرمتون اضافه کنید و خاصیت تب استاپ آنرا فالس کنید
کدهای زیر را در رویداد keydown تکست باکس مورد نظر بنویسید
int tab_count;
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
this. Text = tab_count.ToString() ;
if (e.KeyCode == Keys.Tab)

{
tab_count = tab_count + 1;
if (tab_count == 3)
{
textBox1.Text = "علی";
SendKeys.Send("{ENTER}");
tab_count = 0;
}
}
}
بعد از اینکه سه بار تب را زدی ، کلمه علی نوشته میشه و کلید اینتر ارسال میشه
در جریان هستید به کد و دیتابیس برنامه دسترسی ندارن؟