Below is some sample code that I am running just to do a rest, get rom release and then list access points. The key piece was to make sure you had the CR/LF added. at the end of the commands. You can also do a println if you like by add just the \r to the print statement. The TX and RX from the arduino are connect to RX/TX on the ESP8266. I also use a FTDI serial port and only connected the RX pin from the TX on the ESP8266 to monitor what was coming back from the wifi module.
#include <SoftwareSerial.h>
SoftwareSerial esp(7,8); //ESP firmware has to be 0018000902 so the baudrate can be set to 9600
void setup()
{
esp.begin(9600);
}
void loop()
{
esp.print("AT\r\n");
delay(500);
esp.print("AT+GMR\r\n");
delay(500);
esp.print("AT+RST\r\n");
delay(5000);
esp.print("AT+CWLAP\r\n");
delay(5000);
}