Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
4 / 4 / 3
Регистрация: 28.04.2011
Сообщений: 43
1

Передать результат одной функции в формальные параметры другой

28.04.2011, 15:14. Показов 850. Ответов 1
Метки нет (Все метки)

Это CodedUI тест в VS2010
Цель такая - в поле username передать случайно сгенерированный адрес.

Так работает:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 public class Login
    {
        Random random = new Random();
        string usern = "";
        string domen = "";
        int val;
             
        [TestMethod]
        public void StandartLogin()
        {
            for (int i = 0; i <= 9; i++)
            {
                val = random.Next(1, 36);
                usern += Convert.ToChar(System.Convert.ToInt32(val <= 26 ? 64 + val : ((val - 27) + 48)));
            }
            for (int j = 0; j <= 9; j++)
            {
                val = random.Next(1, 36);
                domen += Convert.ToChar(System.Convert.ToInt32(val <= 26 ? 64 + val : ((val - 27) + 48)));
            }
            this.UIMap.login(usern+"@"+domen+".org");
        }
Но это неправильно поскольку в каждом методе мне надо будет вставлять генерацию этих переменных, поэтому я хочу вынести этот процесс отдельно, но не знаю как потом взять из него данные.
как-то так надо чтоб работало

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
   public class Login
    {
        public void Random()
        {
            Random random = new Random();
            string usern = "";
            string domen = "";
            int val;
 
            for (int i = 0; i <= 9; i++)
            {
                val = random.Next(1, 36);
                usern += Convert.ToChar(System.Convert.ToInt32(val <= 26 ? 64 + val : ((val - 27) + 48)));
            }
            for (int j = 0; j <= 9; j++)
            {
                val = random.Next(1, 36);
                domen += Convert.ToChar(System.Convert.ToInt32(val <= 26 ? 64 + val : ((val - 27) + 48)));
            }
        }
        
        [TestMethod]
        public void StandartLogin()
        {
           this.UIMap.Login(??????????Как теперь тут вызвать????????? "usern+"@"+domen+".org");
           
        }
Так упрощённо выглядит реализация самого логина в UIMap
C#
1
2
3
4
5
6
7
8
  public void Login(string UserName)
        {
            HtmlEdit LoginField = this.UILoginEdit;
            HtmlInputButton LoginButton = this.UILogInButton;
 
            LoginField.Text = UserName;
            Mouse.Click(LoginButton);
        }
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.04.2011, 15:14
Ответы с готовыми решениями:

Как передать значение из одной статичной функции другой
Есть две статичные функции, мне нужно передать значение переменной из одной функции другой функции...

Передать параметры в командную строку и перехватить результат обратно в приложение
Дорого времени суток! Есть небольшая задача: необходимо из C# приложения вызвать выполнение...

Как передать данные из одной dgv одной формы в dgv другой?
Проблема номер 2 Моя программа работает с базой данных, записывает, удаляет и считывает данные...

Нужно передать УРЛ-параметры с одной АСП страницы на другую.
Мне нужно передать УРЛ-параметры с одной АСП страницы на другую. Я использую редирект, а потому...

1
4 / 4 / 3
Регистрация: 28.04.2011
Сообщений: 43
01.07.2011, 12:07  [ТС] 2
Вот исправил, теперь полноценный Random

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
  public class UserNames
        {
            Random random = new Random();
            int val;
            string RValue;
            public string RandomNames(int RndType, int count)
            {
                if (RndType == 0)
                {
                    RValue = "";
                    for (int i = 0; i <= count; i++)
                    {                        
                        val = random.Next(1, 36);
                        RValue += Convert.ToChar(System.Convert.ToInt32(val <= 26 ? 64 + val : ((val - 27) + 48)));
                    }
                    return RValue;
                }
                else if (RndType == 1)
                {
                    RValue = "";
                    for (int i = 0; i <= count; i++)
                    {
                        Thread.Sleep(50);
                        RValue += random.Next(1, 9);
                    }
                    return RValue;
                }
                else
                {
                  return "Error!";
                }
            }
        }
Вызов:
C#
1
2
EditLogin.Text = UserNames.RandomNames(0, 9);
EditKey.Text = UserNames.RandomNames(1,4);
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2011, 12:07

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Формальные и фактические параметры.
Покажите пожалуйсто, где в этом коде формальные, а где фактические параметры метода. using System;...

Как передать управление от одной формы другой?
Здравствуйте. Не могу понять как передать управление из одной формы в другую. В начале запуска...

Передача функции в параметры на вход другой функции
Здравствуйте! подскажите как передать функцию в параметром другой функции, раньше функции были с...

Передать значение из txtBox одной формы в переменную другой
Всем привет! Объясните, пожалуйста, как из одной формы Form2 textBox1 передать значения в Form1...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.